Apache安裝前需要準(zhǔn)備:
1、在Apache 服務(wù)器上開啟 “443” 端口,避免證書安裝后無法啟用 HTTPS。
2、把SSL證書文件上傳到服務(wù)器。
3、服務(wù)器IP、用戶名、密碼,以便于登錄安裝。
安裝步驟:
請(qǐng)下載SSL證書并解壓,解壓后會(huì)得到證書文件、中間證書、私鑰文件
1、將文件證書文件、中間證書文件、私鑰文件上傳到 Apache 服務(wù)器的 /etc/httpd/ssl 目錄下。
如果沒有 /etc/httpd/ssl 目錄,可通過 mkdir /etc/httpd/ssl 命令行創(chuàng)建。
2、遠(yuǎn)程登錄 Apache 服務(wù)器。比如使用PuTTY工具登錄。
首次安裝的 Apache 服務(wù)器,conf.d、conf、conf.modules.d 等目錄默認(rèn)在 /etc/httpd 目錄下。
3、在 /etc/httpd/conf 目錄下的 httpd.conf 配置文件找到 Include conf.modules.d/*.conf(用于加載配置 SSL 的配置目錄)配置語句,并確認(rèn)該配置語句未被注釋。若已注釋,請(qǐng)去掉首行的注釋符號(hào)(#),保存配置文件。
4、在 /etc/httpd/conf.modules.d 目錄下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modules/mod_ssl.so(用于加載 SSL 模塊)配置語句,并確認(rèn)該配置語句未被注釋,若已注釋,請(qǐng)去掉首行的注釋符號(hào)(#),保存配置文件。
注意:由于操作系統(tǒng)的版本不同,目錄結(jié)構(gòu)也不同,請(qǐng)根據(jù)實(shí)際操作系統(tǒng)版本進(jìn)行查找。
若以上配置文件中均未找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf.modules.d/*.conf 配置語句,請(qǐng)確認(rèn)是否已經(jīng)安裝 mod_ssl.so 模塊。若未安裝 mod_ssl.so 模塊,您可通過執(zhí)行yum install mod_ssl 命令進(jìn)行安裝。
5、編輯 /etc/httpd/conf.d 目錄下的 ssl.conf 配置文件。修改如下內(nèi)容:
<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、重新啟動(dòng) Apache 服務(wù)器,然后打開https:// 進(jìn)行訪問。如果瀏覽器地址欄顯示安全鎖標(biāo)識(shí),則說明證書安裝成功。
HTTP 自動(dòng)跳轉(zhuǎn) HTTPS 的安全配置
將 HTTP 請(qǐng)求自動(dòng)重定向到 HTTPS的方法:
1、編輯 /etc/httpd/conf 目錄下的 httpd.conf 配置文件。
httpd.conf 配置文件所在目錄不唯一,您可以根據(jù) /etc/httpd/* 逐一查找。
2、請(qǐng)確認(rèn)該配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so。
若存在,請(qǐng)去掉LoadModule rewrite_module modules/mod_rewrite.so前面的注釋符號(hào)(#)號(hào)。并執(zhí)行步驟4,若不存在請(qǐng)執(zhí)行步驟3。
3、請(qǐng)您在/etc/httpd/conf.modules.d中新建一個(gè) *.conf 文件,例如 00-rewrite.conf。在新建文件中添加以下內(nèi)容:LoadModule rewrite_module modules/mod_rewrite.so
4、在 httpd.conf 配置文件中添加如下內(nèi)容:
<Directory "/var/www/html">
# 新增RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>
5、重新啟動(dòng) Apache 服務(wù)器,并訪問https查看是否生效。