1. 程式人生 > >網站如何從http升級成https

網站如何從http升級成https

基本概念:

HTTP: 是網際網路上應用最為廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標準,用於從WWW伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。

 

HTTPS: 是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

 

很多使用者目前對HTTPS持觀望態度,當然網站升級HTTPS有利有弊,利當然是安全係數提升,降低劫持風險,弊端主要體現在速度上,由於證書驗證、多次握手、CPU消耗等原因,https頁面速度會被拖慢一點。

谷歌、火狐等瀏覽器廠商也已經扛起HTTPS大旗,對於HTTP站點會提示不安全警告。而且像谷歌、百度等搜尋引擎也早已相應HTTPS號召,都聲稱對HTTPS站點頁面友好甚至優先抓取,排名靠前,當然具體實際實施情況就另當別論了,目前來看,谷歌做的要比百度更成熟一些。

 

要讓網際網路站點都升級到HTTPS協議還需一段時間,但不可否認HTTPS是大勢所趨。所以本文我們一起來了解下如何將網站升級到HTTPS協議。

1.購買、下載SSL證書

SSL證書有付費也有免費的,當然價格其實並不很高。之前我有整理過國內外幾家知名的SSL商家,可供大家參考(http://blog.cnezsoft.com/blog/ssl-80138.html

)。

2.備份,備份,備份

這是極其重要且必須的一步。即便你自認為技術深厚,對伺服器熟悉也不要忽視升級前做好網站備份。

3.安裝證書

不同廠家或都提供了相應的安裝證書的解決方案,流程大同小異。這裡我以免費SSL證書為例,在LAMP環境下給大家介紹如何安裝證書。

開啟apache的配置檔案httpd.conf,找到

#LoadModule ssl_module modules/mod_ssl.so

#Include conf/extra/httpd-ssl.conf

刪除行首的配置語句註釋符號“#”

儲存退出。

 

開啟apache安裝目錄下conf/extra目錄中的httpd-ssl.conf檔案

在配置檔案中查詢以下配置語句

SSLCertificateFile conf/ssl.crt/server.crt 將伺服器證書配置到該路徑下

SSLCertificateKeyFile conf/ssl.key/server.key 將伺服器證書私鑰配置到該路徑下

#SSLCertificateChainFile conf/ssl.crt/ca.crt 刪除行首的“#”號註釋符,並將中級CA證書 ca.crt配置到該路徑下。

 

新增SSL 協議支援語句,關閉不安全的協議和加密套件:

SSLProtocol all -SSLv2 -SSLv3

 

修改加密套件如下:

SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

儲存退出,並重啟Apache。檢查HTTPS頁面能否成功訪問。

4.301重定向

考慮到SEO影響,須將之前的HTTP頁面轉為HTTPS。我們修改配置檔案即可,這裡我還是以LAMP環境為例,在.htaccess檔案中加下面程式碼即可:

 

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

總結:

本文向大家介紹了網站升級HTTPS時必要流程,具體細節或因伺服器環境不同和SSL證書商家不同而存在一些差異,但總體大同小異。如過大家在網站升級HTTPS過程中遇到疑難困惑或有成功經驗,歡迎一起分享交流。