基本概念:
HTTP: 是互聯網上應用最爲普遍的一種網絡協議,是一個客戶端和服務器端請求和應答的標準,用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議,它能夠使瀏覽器更加高效,使網絡傳輸減小。html
HTTPS: 是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,所以加密的詳細內容就須要SSL。apache
不少用戶目前對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環境下給你們介紹如何安裝證書。ui
打開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過程當中遇到疑難困惑或有成功經驗,歡迎一塊兒分享交流。
資料來源:https://blog.csdn.net/chanzhi2016/article/details/71706197