騰訊雲服務器申請免費SSL證書,實現Https。

1.首先在騰訊雲的SSL證書管理中申請免費的SSL。審覈速度仍是挺快的...

2.按照步驟申請後,就能夠下載主流web服務器的證書了。如圖:

3.這裏我使用的web服務器是nginx,把nginx下的文件上傳到linux服務器中。

4.配置nginx.conf內容

 

server {
    listen       443;
    server_name  _;
    charset utf-8;

    ssl on; 
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_certificate /home/key_dir/1_mydearest.cn_bundle.crt;  
    ssl_certificate_key /home/key_dir/2_mydearest.cn.key; 
}

5.重啓nginx service nginx restart 使配置生效

6.使用全站加密,http自動跳轉https(可選)

對於用戶不知道網站能夠進行https訪問的狀況下,讓服務器自動把http的請求重定向到https。
在服務器這邊的話配置的話,能夠在頁面里加js腳本,也能夠在後端程序裏寫重定向,固然也能夠在web服務器來實現跳轉。Nginx是支持rewrite的(只要在編譯的時候沒有去掉pcre)
在http的server裏增長rewrite ^(.*) https://$host$1 permanent;
這樣就能夠實現80進來的請求,重定向爲https了。

7.若是主站點是https的,那麼裏面的全部資源就必須都要以https的形式引入,否則瀏覽器的安全機制就會把這部分資源block掉,致使沒法正常運行。

解決方案有如下幾種:

 

1.將資源引入形式改爲https

2.選擇相對協議,也就是說,將頭部的http/https去掉,只保留以後的部分,像這樣:

<link href="//cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet">
這樣的好處是瀏覽器可以根據你的網站所採用的協議來加載文件。

可是,因爲「相對協議」的相對特性,對於本地文件的訪問就有一個「坑」:好比,你在電腦上保存了一個 index.html 的頁面,這個頁面中用相對協議引用了網絡上的某個外部資源,你直接用瀏覽器打開這個html文件是打不開的,由於你瀏覽本地文件時,瀏覽器採用的是 file: 協議,file協議沒法識別//cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css這種類型的資源路徑,故打不開。css

建議

在調試階段用http或者https引入,在部署階段用相對協議,或者直接在本地建一個服務器,以服務器的形式打開頁面,就不會出現瀏覽器沒法加載相對協議下的資源的狀況了。html

相關文章
相關標籤/搜索