Apache安装前需要准备:
1、在Apache 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。
2、把SSL证书文件上传到服务器。
3、服务器IP、用户名、密码,以便于登录安装。
安装步骤:
请下载SSL证书并解压,解压后会得到证书文件、中间证书、私钥文件
1、将文件证书文件、中间证书文件、私钥文件上传到 Apache 服务器的 /etc/httpd/ssl 目录下。
如果没有 /etc/httpd/ssl 目录,可通过 mkdir /etc/httpd/ssl 命令行创建。
2、远程登录 Apache 服务器。比如使用PuTTY工具登录。
首次安装的 Apache 服务器,conf.d、conf、conf.modules.d 等目录默认在 /etc/httpd 目录下。
3、在 /etc/httpd/conf 目录下的 httpd.conf 配置文件找到 Include conf.modules.d/*.conf(用于加载配置 SSL 的配置目录)配置语句,并确认该配置语句未被注释。若已注释,请去掉首行的注释符号(#),保存配置文件。
4、在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modules/mod_ssl.so(用于加载 SSL 模块)配置语句,并确认该配置语句未被注释,若已注释,请去掉首行的注释符号(#),保存配置文件。
注意:由于操作系统的版本不同,目录结构也不同,请根据实际操作系统版本进行查找。
若以上配置文件中均未找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf.modules.d/*.conf 配置语句,请确认是否已经安装 mod_ssl.so 模块。若未安装 mod_ssl.so 模块,您可通过执行yum install mod_ssl 命令进行安装。
5、编辑 /etc/httpd/conf.d 目录下的 ssl.conf 配置文件。修改如下内容:
<VirtualHost 0.0.0.0:443>
DocumentRoot "/var/www/html"
#填写证书名称
ServerName 22.cn
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/22.cn.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/22.cn.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/root_bundle.crt </VirtualHost>
6、重新启动 Apache 服务器,然后打开https:// 进行访问。如果浏览器地址栏显示安全锁标识,则说明证书安装成功。
HTTP 自动跳转 HTTPS 的安全配置
将 HTTP 请求自动重定向到 HTTPS的方法:
1、编辑 /etc/httpd/conf 目录下的 httpd.conf 配置文件。
httpd.conf 配置文件所在目录不唯一,您可以根据 /etc/httpd/* 逐一查找。
2、请确认该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so。
若存在,请去掉LoadModule rewrite_module modules/mod_rewrite.so前面的注释符号(#)号。并执行步骤4,若不存在请执行步骤3。
3、请您在/etc/httpd/conf.modules.d中新建一个 *.conf 文件,例如 00-rewrite.conf。在新建文件中添加以下内容:LoadModule rewrite_module modules/mod_rewrite.so
4、在 httpd.conf 配置文件中添加如下内容:
<Directory "/var/www/html">
# 新增RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>
5、重新启动 Apache 服务器,并访问https查看是否生效。