(以SSL For Free – Let’s Encrypt為例)
Step 1
Step 2
Step 3
選擇手動驗證『Manual Verification』 過一下子,網頁下方會出現一堆新的內容,大致上是手動驗證的步驟。 Step 4
在你要申請SSL的網域的根目錄建立兩層資料夾
/根目錄/.well-known/acme-challenge/ Step 5
本步驟,要下載驗證檔,並且放置在上一步驟的路徑裡面! 點選下載驗證檔案『Download File #1』
(如果填寫的網域名稱是www.aaa.aaa,會有2個檔案需要下載) 將檔案放入剛才建立的目錄裡面!
/根目錄/.well-known/acme-challenge/ 要怎麼把檔案放進去?
方法一:使用擁有足夠權限的帳號,透過FTP把檔案放進去。
(如果你的站台本來就沒有架設FTP站台,不建議因此倉促架設!)
方法二:用vim把檔案建立到那個目錄裡面!再把檔案內容寫進去就好了!
- PExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
複製代碼
存檔離開
點選連結2試試看,能不能看得到檔案內容?
看得到內容就可以進行下一步驟!
如果是『Permission Denied』則要注意一下是否有將權限開放給apache的執行帳號!Step 6
按下『Download SSL Certificate』,SSL For Free會自動幫你驗證、並產生你的SSL憑證!
如果按下之後看到的畫面跟下圖不一樣,建議還是去查一下Apache error_log,看到底哪裡出問題了! 網頁畫面可以直接預覽3個檔案的內容。
網頁再往下捲一些,可以看到一個下載所有檔案的按鈕!『Download All SSL Certificate Files』 網頁預覽內容對應到下載的檔案、再分別對應到Apache ssl.conf設定檔參數的對照表如下: 網頁預覽內容 | 全部下載的檔名 | Apache ssl.conf設定檔參數 | CA Bundle | ca_bundle.crt | SSLCACertificateFile | Certificate | certificate.crt | SSLCertificateFile | Private Key | private.key | SSLCertificateKeyFile |
這3個檔案也要放到伺服器裡面!
(CentOS 7 預設路徑/etc/pki/tls/certs/) Step 7
修改Apache SSL設定檔
對照上一步驟的表格,搜尋參數名稱『SSLCACertificateFile』、『SSLCertificateFile』、『SSLCertificateKeyFile』,並且修改憑證檔路徑!
- [andy@www ~]$ sudo vim /etc/httpd/conf.d/ssl.conf
複製代碼
可能要順便注意的參數名稱:『ServerName』、『ServerAlias』、『DocumentRoot』、『SSLEngine』、『SSLProtocol』、『SSLCipherSuite』、『<Directory /xxx/xxx>』
修改完畢就存檔離開 Step 8
修改httpd.conf,強制http自動導向https
- [andy@www ~]$ sudo vim /etc/httpd/conf/httpd.conf
複製代碼
找到你的站台,在這次要申請SSL的站台的這定區塊裡面加入以下設定
- RewriteEngine On
- RewriteCond %{SERVER_NAME} !^443$
- RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
複製代碼
重啟Apache(httpd)
- [andy@www ~]$ sudo systemctl restart httpd
複製代碼
大功告成 Step 9
以Firefox瀏覽看看
點一下左邊的灰色驚嘆號,可以看到『安全連線』的字樣!
點一下『>』向右箭頭,可以看見『驗證機構』!
用Chrome開起來看看
綠色的『安全』字樣,這就是我們要的!
Chrome要怎麼看發證機構?
Developer Tools > Security (頁籤) > View certificate (按鈕)
|