Apache服务器安装SSL证书
您可以通过将SSL证书安装到Apache服务器,使Apache服务器支持HTTPS安全访问。本文介绍如何在Apache服务器安装SSL证书。
说明
本文档Apache版本以 Apache/2.4.6
为例。
安装前请确认443端口未被占用,如果443端口已使用,请在安装证书时绑定其他端口。
获取证书
- 我们为您签发证书后将会给您颁发证书文件(.zip)压缩格式,压缩包中有四个文件夹分别对应四种证书格式:Tomcat、Nginx、IIS、Apache;Apache服务器需要用到Apache文件夹内的证书。 2.Apache文件夹中将包含三个文件,
domain_com.crt
证书文件domain_com.key
私钥文件domain_com.ca-bundle
证书链文件
安装SSL证书
- 将已获取到的
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
- 检查
/etc/httpd/conf
目录下的httpd.conf
配置文件,找到Include conf.modules.d/*.conf
配置语句,并确认该配置语句未被注释。若已注释,请去掉首行的注释符号(#),保存配置文件。 - 检查
/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
命令进行安装。
- 编辑
/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>
- 保存配置文件之后重启Apache服务器。
测试SSL证书
在浏览器地址栏输入绑定SSL证书的域名,测试您的 SSL 证书是否安装成功。如果成功,则浏览器地址栏会显示一个安全锁标志,点击可查看证书信息。
HTTP 自动跳转 HTTPS 的安全配置(可选)
如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:
- 编辑
/etc/httpd/conf
目录下的httpd.conf
配置文件。检查该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so
。 如果存在,请去掉首行的注释符号(#),如果不存在,请添加该行LoadModule rewrite_module modules/mod_rewrite.so
,然后保存配置文件。 - 打开http.conf文件,在配置文件中添加以下内容:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
- 重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。