阿里雲伺服器apache配置SSL證書成功開啟Https的教程

mdxy-dxy發表於2019-01-24

  文章主要介紹了阿里雲伺服器apache配置SSL證照成功開啟Https(記錄趟過的各種坑),需要的朋友可以參考下。

環境:

  阿里云云伺服器 Windows Server 2008 標準版 SP2 中文版(趁1212優惠買的一年的水貨配置)

  阿里雲購買的域名(已備案、已解析)

  伺服器:phpstudy:php5.4.45+Apache(因為是phpstudy整合的,所以沒找到apache的版本,我感覺應該是2.4.8之前的版本)

  SSL證照 (配置過程中,我申請了2個不同機構的證照,第一個GG了,是在 https://www.trustasia.com/ 申請的1年免費證照。成功的是用的第二個,在 https://www.myssl.cn/products/freessl.html 申請的1個月的試用證照。所以是我技術問題還是???)

步驟:

  申請證照(某度很多教程的,大家自行搜尋)

上傳證照

  登陸阿里雲控制檯=》安全(雲盾)=》CA證照服務=》上傳原有證照(也可以直接買阿里雲的證照,這樣就不用上傳,不過個人網站一般是申請免費的證照)

開啟伺服器443埠(https預設埠)

  阿里雲控制檯=》雲端計算基礎服務=》雲伺服器ECS=》網路和安全=》安全組,沒有安全組的建立一個安全組,有的直接選擇相應安全組,點選配置規則=》新增安全組規則(把80埠和443埠新增進安全組,授權物件填0.0.0.0/0)

開啟apache相應配置

#修改httpd.conf檔案

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

LoadModule rewrite_module

#去掉上面三行前的"#"

儲存退出

在apache目錄下的conf目錄下新建一個cert目錄,將你的證照檔案放在這裡面

開啟php的openssl模組,在phpstudy的“php擴充套件及設定”裡面開啟即可

修改httpd-ssl.conf檔案,儲存退出

在..\Apache\conf\extra目錄下,開啟httpd-ssl.conf檔案(注:先備份一遍,以免出錯,因為這個檔案的錯誤我重灌phpstuy不下10回)

在檔案裡定位到 Listen 443 這句話這裡,把 從這句話到這個檔案結尾的文字 全部註釋掉或者刪除掉,替換成以下程式碼:

Listen 443 //這裡強調一下,如果Listen 443這句程式碼在這個檔案裡重複出現了,即重複監聽,apache會報錯,然後不能啟動

SSLStrictSNIVHostCheck off

SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL

SSLProtocol all -SSLv2 -SSLv3

#這裡的路徑設定你的網站根目錄

DocumentRoot "C:\phpStudy\PHPTutorial\WWW"

#這裡xxxxx.com替換成你的域名

ServerName www.xxxxx.com

#這裡xxxxx.com替換成你的域名

ServerAlias xxxxx.com

#這裡的路徑設定你的網站根目錄

Options FollowSymLinks ExecCGI

AllowOverride All

Order allow,deny

Allow from all

Require all granted

SSLEngine on

#你的公鑰檔案

SSLCertificateFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.crt"

#你的私鑰檔案(有的機構命名為private或者以你的域名為檔名命名)

SSLCertificateKeyFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.key"

#證照鏈檔案(有的機構命名為CA) 我嘗試過註釋掉這個選項,結果apache不能執行

SSLCertificateChainFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/chain.crt"

  重啟apache,看看能不能正常啟動,如果有異常,嘗試把第4步中httpd-ssl.conf程式碼恢復註釋(把#重新加上去,儲存退出),再次重啟apache,如果此時能夠正常啟動,則說明httpd-ssl.conf檔案中有錯誤(是不是重複監聽了?證照路徑對不對?證照是否有效?),請認真檢查,直到能夠正常啟動apache

  開啟hosts檔案

  我的hosts檔案在C:\Windows\System32\drivers\etc目錄下

  用記事本開啟,在127.0.0.1 localhost下面新增一句話:

127.0.0.1 www..xxxxx.com //這裡替換成你的域名

  儲存退出

  修改.htAccess檔案,使域名重定向到https(這樣訪問域名的時候就不用手動寫https://,它會自動新增的)

  在你的網站的根目錄(我的是WWW目錄)下新增或者修改.htaccess檔案,程式碼如下:

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

Options +FollowSymLinks

order allow,deny

allow from all

RewriteEngine on

RewriteBase /

RewriteCond %{SERVER_PORT} !^443$

RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

  儲存退出

  檢查伺服器是否已經關閉了windows自帶的IIS伺服器(因為可能會佔用apache的80埠),檢查是否關閉了系統防火牆,檢查是否有其他程式佔用了80或者443埠。確認都已經關閉後進行下一步 (這裡給大家貼一個埠掃描工具用於檢查:http://tool.chinaz.com/port/)

  重啟apache

  啟動瀏覽器檢查是否可以訪問localhost 及你的域名,並且域名頭部標誌為https。如果不能正常訪問,請根據以上步驟重新檢查。

  SSL配置成功,能夠使用https訪問你的域名了!

相關文章