跳到主要内容
版本:V1.0.0

Apache2服务器安装SSL证书

您可以通过将SSL证书安装到Apache服务器,使Apache服务器支持HTTPS安全访问。本文介绍如何在Apache服务器安装SSL证书。 说明: 本文档Apache版本以 Apache/2.4.58(ubuntu) 为例。 安装前请确认443端口未被占用,如果443端口已使用,请在安装证书时绑定其他端口。 一、获取证书

  1. 我们为您签发证书后将会给您颁发证书文件(.zip)压缩格式,压缩包中有四个文件夹分别对应四种证书格式:Tomcat、Nginx、IIS、Apache;Apache服务器需要用到Apache文件夹内的证书。
  2. Apache文件夹中将包含三个文件,
  • domain_com.crt 证书文件
  • domain_com.key 私钥文件
  • domain_com.ca-bundle 证书链文件 二、安装SSL证书
  1. 将已获取到的 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
  1. 由于Apache只读取 sites-enabled 里的配置文件,所以需要设置一个软链接
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
  1. 编辑 /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 证书是否安装成功。如果成功,则浏览器地址栏会显示一个安全锁标志,点击可查看证书信息。

SSL证书效果

四、HTTP 自动跳转 HTTPS 的安全配置(可选) 如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:

  1. 在命令行中输入 a2enmod rewrite 启用重定向模块
  2. 然后打开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>
  1. 重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。