Apache2服务器安装SSL证书
您可以通过将SSL证书安装到Apache服务器,使Apache服务器支持HTTPS安全访问。本文介绍如何在Apache服务器安装SSL证书。
说明
本文档Apache版本以 Apache/2.4.58(ubuntu) 为例。
安装前请确认443端口未被占用,如果443端口已使用,请在安装证书时绑定其他端口。
获取证书
- 我们为您签发证书后将会给您颁发证书文件(.zip)压缩格式,压缩包中有四个文件夹分别对应四种证书格式:Tomcat、Nginx、IIS、Apache;Apache服务器需要用到Apache文件夹内的证书。
- Apache文件夹中将包含三个文件,
- domain_com.crt证书文件
- domain_com.key私钥文件
- domain_com.ca-bundle证书链文件
安装SSL证书
- 将已获取到的 domain_com.crt证书文件、domain_com.key私钥文件、domain_com.ca-bundle证书链文件从本地目录拷贝到 Apache 服务器的/etc/apache2/ssl目录下。 说明:
- 若 /etc/apache2/ssl目录不存在,可以通过mkdir -p /etc/apache2/ssl命令创建
- 不同版本之间可能存在差异,有些Apache目录可能为 /etc/httpd
- 由于Apache只读取 sites-enabled里的配置文件,所以需要设置一个软链接
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
- 编辑 /etc/apache2/sites-available/default-ssl.conf文件,修改如下内容:
<VirtualHost *:443>
        DocumentRoot /var/www/html
        #启用 SSL 功能
        SSLEngine on		
        #证书文件的路径
        SSLCertificateFile      /etc/apache2/ssl/domain_com.crt
        #私钥文件的路径
        SSLCertificateKeyFile   /etc/apache2/ssl/domain_com.key
        #证书链文件的路径
        SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>
修改后保存配置文件并执行以下命令:
a2enmod ssl       #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest  #检测配置文件是否报错
apache2ctl restart   #重启Apache使配置生效
测试SSL证书
在浏览器地址栏输入绑定SSL证书的域名,测试您的 SSL 证书是否安装成功。如果成功,则浏览器地址栏会显示一个安全锁标志,点击可查看证书信息。

HTTP 自动跳转 HTTPS 的安全配置(可选)
如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:
- 在命令行中输入 a2enmod rewrite启用重定向模块
- 然后打开http配置文件,例如:/etc/apache2/sites-available/000-default.conf,在配置文件中添加以下内容:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
- 重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。