細心的讀者已經發現博主的博客已經變為https,谷歌從 2017 年起,Chrome 瀏覽器將也會把采用 HTTP 協議的網站標記為「不安全」網站。
蘋果從 2017 年 iOS App 將強制使用 HTTPS;在國內熱火朝天的小程序也要求必須使用 HTTPS 請求。同時,火狐等主流瀏覽器同樣的響應了此號召。
SSL證書類型:
- 通常來說,SSL 證書分為三大類,他們的安全性是遞增的,當然價格和安全系數成正比。
- DV (Domain Validation Certificate) DV證書適合個人網站使用
- CA 申請證書時,CA 只驗證域名信息。幾分鐘之內就能簽發。
- OV ( Organization Validation Certificate) OV 證書需要認證公司的信息。1-2天簽發。
- EV ( Extended Validation Certificate) EV 證書的認證最為嚴格,一般會要求提供紙質材料。簽發時間也較久。
國內申請SSL證書的渠道
- 目前免費申請渠道有兩個,一個是國內有名的“云存儲”平臺 -- 七牛;另外一個就是阿里巴巴旗下的阿里云了。
下面進入正題
一、SSL證書申請
這里如果https域名是為了做資源cdn加速,那么推薦使用七牛,其他還是推薦使用阿里云。
在寫博客之前一個月七牛申請的SSL證書在配置cdn加速時選擇https并選擇證書之后可以看到證書內容和密鑰,可是現在不行了,只顯示證書到期時間和證書綁定的域名,所以只能用在七牛的cdn加速域名配置上。
七牛和aliyun的證書申請流程基本一致,這里我們介紹aliyun的,七牛的如果不是配置七牛cdn加速不建議去弄。
- 進入aliyun控制臺,選擇安全下的證書服務,第一次申請證書則如下圖:
61A76E96-8A0A-4976-A9FD-7A0A3D626954.png
- 點擊右上方購買證書,選擇 免費型DV SSL -> 購買 -> 進入證書列表頁 -> 點擊剛才購買的證書后面的 補全 -> 填寫域名信息 -> 提交
CD8A94BF-EE0E-43D0-905A-04C40A1969EE.png
> 這里為了快速審核建議使用文件驗證域名所有權
> 提交之后等待審核通過(一般工作時間倆個小時,如果長時間沒過可以提交個工單催一催,一會就過了,博主就是這樣做的)
> 具體參照每一步操作的幫助提示
-
審核通過后如下圖所示,點擊下載,將證書下載下來并傳到服務器上,具體操作流程官方寫的很詳細,這里不做介紹。
5ABCFFAC-5D97-45C1-B692-BCDE615B654F.png
二、 配置nginx
將證書上傳到"/cert"目錄下
在nginx配置文件目錄中(/etc/nginx/sites-available)中復制之前的站點出來并進行編輯,修改,如下:(官方也給了例子)
-
修改之前站點,將blog.guoq.xin重定向到https路徑下,如下所示配置,僅需加一句:"return 301 https://blog.guoq.xin$request_uri;"
server { listen 443 ssl; root /var/www/blog; index index.php index.html index.htm; server_name blog.guoq.xin; # ssh配置 ssl on; ssl_certificate /cert/214178478140549.pem;#這里是你的上傳的pem路徑 ssl_certificate_key /cert/214178478140549.key;#這里是你上傳的key路徑 ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ /index.php?$query_string; } # php配置 location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
-
修改完成之后別忘了加軟連接
cd /etc/nginx/sites-enabled ln -s /etc/nginx/sites-available/blog .
-
重啟nginx
nginx -s reload
現在你的網站已經變成了https,當訪問不是https路徑時會跳轉到https下。
34BFB541-63BE-48FC-AB75-B1643A8D0A47.png