網站升級HTTPS的方法
現在越來越多的網站開始所用https協議,也許百度從2014年底就已經開始支援https了,並且據說在排名第一上,同權重的網站,匯入https會優惠待遇提升排名第一。先不管破牆排名第一吧,https是一種更安全更先進的技術。作為網際網路的弄潮兒,大家必須要與時俱進呀~果斷的,全站投用https協議。
不要以為匯入https只是在網址http後面管吻s就需要了,也許不是的。https是需要有校正SSL證書的,若是沒有證書一般來說證書不匹配,則通過https會面你的網站是會被瀏覽器攔截的。
一、獲取證書
升級到 HTTPS 協議的第一站,就是要獲得一張證書。阿里雲上需要申請免費的HTTPS證書。
1.首先登入阿里雲,在“產品與服務”的下拉選單中,找尋“CA證書服務(資料安全)”。
2.鍵入左上方“選購證書”按鈕
3.“保護型別”優先選擇“一條域名”,品牌優先選擇賽門鐵克。
然後證書型別優先選擇“免費型DV SSL”。
4.鍵入“立即選購”
5.選購如願後,鍵入“Geoirs”
6.讀寫一條域名,有一點需要有注意,這裡需要有精確到二級域名,例如www.dedemao.com和pay.dedemao.com是兩個二級域名,是不一樣的。只能讀寫一條,若是有多個域名需要有HTTPS,需要有選購多次,每次選配一條域名。傳送到後,鍵入下一站。
7.傳送到個人資訊,若是域名也在阿里雲,域名校正型別需要優先選擇DNS,並捨去。若是域名歸屬於阿里雲且伺服器是linux的,那麼優先選擇檔案。
8.若是是優先選擇檔案,需要有將自定檔案登入到自定目錄下。
9.等待稽覈通過後,鍵入“登入”,登入證書。
二、裝上證書
參照伺服器的環境優先選擇相應的證書登入並閱讀選配教程即可。
裝上如願後,所用SSL Labs Server Test 檢查試試證書是否生效。
補充試試:
騰訊雲面板登入的SSL證書壓縮包上面包含各種伺服器引擎的證書,你需要有優先選擇你的伺服器型別比如大家用的是Nginx伺服器,就需要有登入Nginx專用的SSL證書。若是是IIS,就登入IIS專用的
伺服器虛擬主機設定SSL證書路徑
登入了SSL證書隨後,大家還需在虛擬主機選配檔案上面自定試試SSL證書的路徑,不然會面會返工。
別的伺服器大家並不瞭解。而且就大家現在用的WDCP面板 Nginx選配檔案的用法是。你需要有先找尋
你伺服器虛擬主機選配檔案的路徑,大家的是/conf/vhost/idedecms.com.conf各有不同,舉一反三。
server {
listen 80;
root /www/web/idedecms_com/public_html;
server_name idedecms.com idedecms.com www.idedecms.com img.idedecms.mysitecdn.com;
index index.html index.php index.htm;
error_page 400 /errpage/400.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.html;
error_page 503 /errpage/503.html;
location ~ /.php$ {
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
location ~ //.ht {
deny all;
}
location / {
try_files $uri @apache;
}
location @apache {
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
return 301 https://www.$server_name$request_uri;
}
server {
listen 443 ssl;
root /www/web/idedecms_com/public_html;
server_name idedecms.com idedecms.com www.idedecms.com img.idedecms.mysitecdn.com;
index index.html index.php index.htm;
error_page 400 /errpage/400.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.html;
error_page 503 /errpage/503.html;
location ~ /.php$ {
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
location ~ //.ht {
deny all;
}
location / {
try_files $uri @apache;
}
location @apache {
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
ssl_certificate /www/ssl/idedecms_com/1_www.idedecms.com_bundle.crt;
ssl_certificate_key /www/ssl/idedecms_com/2_www.idedecms.com.key;
ssl_session_timeout 5m;
}
三、改動連結
下一站,網頁儲存的 HTTP 資源,網站頁面js,css,以及圖片資源指稱地址改為https。因為加密網頁內若是有非加密的資源,瀏覽器是不想儲存那些資源的。
上面這行儲存命令,有兩種改法。
其中,改法二會參照當前網頁的協議,儲存相同協議的外部資源,更靈活一些。
另外,若是頁面頭部派上用場了rel="canonical",也要替換成HTTPS網址。
這個不用我說了吧,網站匯入https隨後,頁面上所用http呼叫的資源都會無法呼叫。你需要有把http的資源全都替換成https呼叫。記住,不能無關緊要任何一條js指稱一般來說圖片若是有一條檔案不是https指稱的,則你的網站雖說需要正常https會面,而且位址列的https標識不想完全變黑,360瀏覽器尤為明顯。這代表你網站雖說投用了https而且沒有做到完全的規範。被認定為不規範的https頁面。
四、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]
iis下需要參考這篇文章 https://www.jb51.net/article/109087.htm
所用cdn的朋友需要聯絡cdn給設定301重定向
更多文章資訊盡在:http://www.999la.com