跳到主要内容
版本:Next Version

Apache服务器安装SSL证书

您可以通过将SSL证书安装到Apache服务器,使Apache服务器支持HTTPS安全访问。本文介绍如何在Apache服务器安装SSL证书。

说明

本文档Apache版本以 Apache/2.4.6 为例。 安装前请确认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/httpd/ssl 目录下。
说明
  • /etc/httpd/ssl 目录不存在,可以通过 mkdir -p /etc/httpd/ssl 命令创建
  • 不同版本之间可能存在差异,有些Apache目录可能为 /etc/apache2
  1. 检查 /etc/httpd/conf 目录下的 httpd.conf 配置文件,找到 Include conf.modules.d/*.conf 配置语句,并确认该配置语句未被注释。若已注释,请去掉首行的注释符号(#),保存配置文件。
  2. 检查 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件,找到 LoadModule ssl_module modules/mod_ssl.so 配置语句,并确认该配置语句未被注释,若已注释,请去掉首行的注释符号(#),保存配置文件。
说明

若以上配置文件中未找到 LoadModule ssl_module modules/mod_ssl.so ,请确认是否已经安装 mod_ssl.so 模块。若未安装 mod_ssl.so 模块,您可通过执行 yum install mod_ssl 命令进行安装。

  1. 编辑 /etc/httpd/conf.d 目录下的 ssl.conf 配置文件。修改如下内容:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. 保存配置文件之后重启Apache服务器。

测试SSL证书

在浏览器地址栏输入绑定SSL证书的域名,测试您的 SSL 证书是否安装成功。如果成功,则浏览器地址栏会显示一个安全锁标志,点击可查看证书信息。

SSL证书效果

HTTP 自动跳转 HTTPS 的安全配置(可选)

如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:

  1. 编辑 /etc/httpd/conf 目录下的 httpd.conf 配置文件。检查该配置文件是否存在 LoadModule rewrite_module modules/mod_rewrite.so 。 如果存在,请去掉首行的注释符号(#),如果不存在,请添加该行 LoadModule rewrite_module modules/mod_rewrite.so ,然后保存配置文件。
  2. 打开http.conf文件,在配置文件中添加以下内容:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. 重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。