Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

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

说明:

本文档Apache版本以 Apache/2.4.58(ubuntu) 为例。

安装前请确认443端口未被占用,如果443端口已使用,请在安装证书时绑定其他端口。

安装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里的配置文件,所以需要设置一个软链接
1
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文件,修改如下内容:
1
2
3
4
5
6
7
8
9
10
11
<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>

修改后保存配置文件并执行以下命令:

1
2
3
a2enmod ssl					#加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效

测试SSL证书

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

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

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

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

评论