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; }
rewrite ^(.*) https://$host$1 permanent;
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