網站從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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM