1. 程式人生 > >如何配置雲伺服器 CentOS 7.0 系統 Apache HTTPS 服務

如何配置雲伺服器 CentOS 7.0 系統 Apache HTTPS 服務

弄好SSL證書之後就可以開始配置HTTPS服務了。這裡我直接使用的阿里雲的PHP環境映象,測試環境如下:


1.連線到伺服器

這裡我用的是Xshell,連線方法就不說了,網上很多教程。

2.安裝mod_ssl模組

首先檢查是否已安裝SSL軟體

[root@Ayase ~]# rpm -qa | grep mod_ssl

如果發現什麼都沒顯示說明沒有安裝,沒有安裝mod_ssl模組,Web伺服器就無法提供SSL服務。

[root@Ayase httpd]# rpm -qa | grep mod_ssl
[root@Ayase httpd]#

可使用yum線上更新方式安裝。

[root@Ayase ~]# yum install -y mod_ssl     //安裝SSL軟體
Dependencies Resolved

==================================================================================================================================================
 Package                           Arch                        Version                                         Repository                    Size
==================================================================================================================================================
Installing:
 mod_ssl                           x86_64                      1
:2.4.6-80.el7.centos.1 updates 111 k Updating for dependencies: httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M httpd-devel x86_64 2.4
.6-80.el7.centos.1 updates 196 k httpd-tools x86_64 2.4.6-80.el7.centos.1 updates 90 k openssl x86_64 1:1.0.2k-12.el7 base 492 k openssl-libs x86_64 1:1.0.2k-12.el7 base 1.2 M Transaction Summary ================================================================================================================================================== Install 1 Package Upgrade ( 5 Dependent packages) Total download size: 4.8 M Installed: mod_ssl.x86_64 1:2.4.6-80.el7.centos.1 Dependency Updated: httpd.x86_64 0:2.4.6-80.el7.centos.1 httpd-devel.x86_64 0:2.4.6-80.el7.centos.1 httpd-tools.x86_64 0:2.4.6-80.el7.centos.1 openssl.x86_64 1:1.0.2k-12.el7 openssl-libs.x86_64 1:1.0.2k-12.el7 Complete! //完成

安裝成功後再次執行會顯示版本資訊:

[[email protected] httpd]# rpm -qa | grep mod_ssl
mod_ssl-2.4.6-80.el7.centos.1.x86_64

3.下載與上傳證書

從阿里雲下載證書後一共是四個檔案
這裡寫圖片描述

在Apache的安裝目錄(/etc/httpd)下建立cert目錄,並將上面四個檔案上傳到該目錄。

[root@Ayase ~]# mkdir /etc/httpd/cert
[root@Ayase ~]# cd /etc/httpd/cert/

使用Xshell上傳檔案可點選工具欄的新建檔案傳輸按鈕,彈出框後點擊取消會跳轉到另一個標籤頁,此時可將四個檔案直接拖到黑視窗進行上傳。
這裡寫圖片描述

4.配置SSL

首先編輯SSL配置檔案,檢查埠是否為443及前面是否有#號,LoadModule是指支援HTTP所需要的模組,如果沒有LoadModule,可手動新增一行LoadModule ssl_module modules/mod_ssl.so

[[email protected] ~]# vim /etc/httpd/conf.d/ssl.conf     //編輯SSL配置檔案,也可能是/etc/httpd/conf/extra/httpd-ssl.conf檔案,與作業系統及安裝方式有關)

LoadModule ssl_module modules/mod_ssl.so    //支援SSL模組
#
# When we also provide SSL we have to listen to the 
# the HTTPS port in addition.
#
Listen 443 https    //http ssl預設埠為443,如果有#號需刪除才可以使用

修改相應的證書資訊(配置檔案中這些條目並不是挨著的),可以在阿里雲證書下載頁面複製該資訊然後將原有的註釋掉。

# 新增 SSL 協議支援協議,去掉不安全的協議
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 證書公鑰配置
SSLCertificateFile /etc/httpd/cert/public.pem           //你的對應證書檔案路徑
# 證書私鑰配置
SSLCertificateKeyFile /etc/httpd/cert/111111111111111.key   //你的對應證書檔案路徑(將檔名改成你自己的)
# 證書鏈配置,如果該屬性開頭有 '#'字元,請刪除掉
SSLCertificateChainFile /etc/httpd/cert/chain.pem       //你的對應證書檔案路徑

這裡寫圖片描述
修改並退出。

5.配置防火牆

SSL服務必須在防火牆配置中開啟443埠,HTTPS才可以對外連線。

[[email protected] ~]# vim /etc/sysconfig/iptables

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT   //SSL埠
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

防火牆配置完成後,必須重新啟動防火牆服務,配置才會生效。

[root@Ayase ~]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service

6.重啟apache服務

一切配置完成後,必須重新啟動apache服務,Apache配置都會生效。

[root@Ayase httpd]# service httpd restart
Redirecting to /bin/systemctl restart  httpd.service

7.測試Apache SSL正常執行

在瀏覽器中輸入【https://IP或網址】,如果出現如下圖所示的頁面,表示成功配置HTTPS服務。若是顯示不安全且證書顯示為invalid,但是點選【繼續瀏覽些網站(不推薦)】仍可訪問,則可能是證書配置錯誤,檢查證書是否過期或路徑是否有誤。
這裡寫圖片描述