一、獲取證書
升級到 HTTPS 協議的第一步,就是要獲得一張證書。阿里云上可以申請免費的HTTPS證書。
1.首先登錄阿里云,在“產品與服務”的下拉菜單中,找到“CA證書服務(數據安全)”。
2.點擊右上角“購買證書”按鈕
3.“保護類型”選擇“一個域名”,品牌選擇賽門鐵克。
然后證書類型選擇“免費型DV SSL”。
4.點擊“立即購買”
5.購買成功后,點擊“補全”
6.輸入一個域名,有一點需要注意,這里需要精確到二級域名,例如www.dedemao.com和pay.dedemao.com是兩個二級域名,是不一樣的。只能輸入一個,如果有多個域名需要HTTPS,需要購買多次,每次配置一個域名。填寫后,點擊下一步。
7.填寫個人信息,如果域名也在阿里云,域名驗證類型可以選擇DNS,并勾選。如果域名不在阿里云且服務器是linux的,那么選擇文件。
8.如果是選擇文件,需要將指定文件下載到指定目錄下。
9.等待審核通過后,點擊“下載”,下載證書。
二、安裝證書
根據服務器的環境選擇相應的證書下載并閱讀配置教程即可。
安裝成功后,使用 SSL Labs Server Test 檢查一下證書是否生效。
三、修改鏈接
下一步,網頁加載的 HTTP 資源,要全部改成 HTTPS 鏈接。因為加密網頁內如果有非加密的資源,瀏覽器是不會加載那些資源的。
<script src="http://foo.com/jquery.js"></script>上面這行加載命令,有兩種改法。
<!-- 改法一 --><script src="https://foo.com/jquery.js"></script>
<!-- 改法二 --><script src="http://foo.com/jquery.js"></script>
其中,改法二會根據當前網頁的協議,加載相同協議的外部資源,更靈活一些。
另外,如果頁面頭部用到了rel="canonical",也要改成HTTPS網址。
<link rel="canonical" />
四、301重定向
下一步,修改 Web 服務器的配置文件,使用 301 重定向,將 HTTP 協議的訪問導向 HTTPS 協議。Nginx 的寫法。
server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; }
Apache 的寫法(.htaccess文件)。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
新聞熱點
疑難解答