30分鐘讓網站支援HTTPS
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
對於一個良好和安全的網路——並且也為了更快的效能,新的API網路例如Service Workers,更佳的搜尋排名,還有——在你的網站上使用HTTPS是關鍵。這裡我會指導大家如何輕鬆搞定。
我不是安全專家也不是搞伺服器的,所以這對我而言也是一種有趣的經歷,而記錄這個過程可以讓其他任何人也能很快地做到這些。包括一些暫時的停頓時間,我總共只花了20-30分鐘。
獲得證書
有一些官方出售的證書,但從我的經驗來看,最容易上手是Let’s Encrypt。它也是免費的,而且背後有一些主要的贊助商,例如Mozilla,Chrome,Akamai和Cisco。
通過Let’s Encrypt為你的網站生成證書的最快方法是使用SSL For Free。然後,你便可以選擇Automatic FTP Verification或者Manual Verification。
選擇好了之後,你就可以得到:
- 針對網站的SSL證書
- 證書私鑰
- CA /鏈證書
安裝證書
下面,針對你的託管服務提供商以及你的伺服器型別,或者如果你是自己託管的話,有不同的方法。就我而言,我對這個網站使用Media Temple,並且它們在Twitter上非常有用,而且它們的線上支援聊天會指點我正確的方向。
所有我需要做的是:
- 進入帳戶中心。正如Media Temple有一個,我敢肯定它適用於大部分的託管選項。
- 選擇匯入SSL證書,新增我之前得到的SSL證書,私鑰,CA /鏈證書之前。
- 成功!
好了嗎,沒有。第3步是騙人的。當我在第2步中進入我的金鑰時,我會得到一個錯誤說我的私鑰是無效的。我慌了一下,然後開始去找問題出在什麼地方。Media Temple支援指引我到Let’s Encrypt論壇上的“Error adding cert, Invalid private key”討論中。
原來需要轉換私鑰到RSA格式,使用下面的程式碼行就可以在終端中快速轉換:
sudo openssl rsa -inform pem -in /etc/letsencrypt/live/www.example.com/privkey.pem -outform pem | less
當然要相應地改變上面的域和路徑。然後複製輸出和提交/另存為私鑰。
更多高階設定
如果你正在某個地方執行你自己的伺服器或虛擬機器,或者恰好沒有針對主機的簡單帳戶中心選擇,那麼我推薦你閱讀下面這些文章考慮手動安裝:
- Tim Kadlec的《Taking Let’s Encrypt for a Spin》
- Jeremy Keith的《Switching to https》
驗證證書安裝
安裝好了之後,驗證證書的一個簡單方法是使用SSL Checker以發現任何潛在的問題。然後,當你使用https://
訪問你的網站的時候,所有一切都應該顯示良好和安全。然而在現實生活中很少是這樣的情況。要小心混合的內容,即部分內容通過https://
提供服務,而一些內容使用的則是http://
。使用http://的內容將不顯示。
注意:不要使用相對路徑/協議相關的URL,即/css/style.css
。它會對可能的端點攻擊開放,而且,從http://你可以隨時請求https://
資源,反之則不能。
一旦確保安全之後,你應該可以在所有的web瀏覽器中看到掛鎖圖示,在位址列的URL旁邊。如果沒有顯示,那麼可以使用偉大的服務Why No Padlock? 來找出可能的問題。我敢打賭,你的1%的時間用來改變內部引用到https://,然後剩下99%的時間用來搞清楚有關第三方的內容,以及如何安全地包含這些內容。
強制SSL / HTTPS用於所有請求
一旦網站安全並在可以平穩執行HTTPS之後,沒有理由不確保所有請求都通過SSL。
正如使用.htaccess和mod_rewrite的Force SSL/https中概述的那樣,下面有一個程式碼片段可以用來新增.htaccess
檔案以確保:
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
一起試試新增HTTPS到你的網站吧!你值得擁有。
譯文連結:http://www.codeceo.com/article/add-https-to-website.html
英文原文:Adding HTTPS to Your Website
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 不花錢幾分鐘讓你的站點也支援httpsHTTP
- 5分鐘讓你的老舊網站支援IPv6、HTTPS、HTTP/2,不能再多了網站HTTP
- 【網站搭建】30分鐘輕鬆搭建網站應用網站
- 30分鐘搭建你的靜態網站網站
- 使用免費SSL證書讓網站支援HTTPS訪問網站HTTP
- 一分鐘開啟Tomcat https支援TomcatHTTP
- 1 分鐘,讓你的網站充滿吸引力!網站
- 30分鐘讓你掌握Git的黑魔法Git
- 30分鐘,讓你徹底明白Promise原理Promise
- 分分鐘讓你理解HTTPSHTTP
- 五分鐘搞懂HTTPSHTTP
- 如何讓 IIS 支援 HTTPSHTTP
- [譯] 用 30 分鐘建立一個網站的方式來學習 Bootstrap 4網站boot
- 30分鐘SQL指南SQL
- 如何免費的讓網站啟用HTTPS網站HTTP
- 30分鐘講清楚深度神經網路神經網路
- 一分鐘讓你的程式支援佇列和併發佇列
- 30分鐘入門MyBatisMyBatis
- 30分鐘精通React HooksReactHook
- 30分鐘泛型教程泛型
- 2分鐘獲得HTTPS證書HTTP
- 怎麼讓後臺模組支援httpsHTTP
- 連續假期不無聊,只要 30 分鐘就能學會如何架設一個網站!網站
- 30分鐘快速瞭解webpackWeb
- 【譯】30 分鐘入門 TypescriptTypeScript
- 30分鐘理解GraphQL核心概念
- 30 分鐘 Qunit 入門教程
- 10分鐘免費開啟全站httpsHTTP
- 讓百度地圖API支援HTTPS地圖APIHTTP
- 30 分鐘快速入門 Docker 教程Docker
- 30 分鐘理解 CORB 是什麼ORB
- 30 分鐘學會 Flex 佈局Flex
- 30 分鐘 Java Lambda 入門教程Java
- 5分鐘讓你秒懂Docker!Docker
- 直播帶練 | 30 分鐘用阿里雲容器服務和容器網路檔案系統搭建 WordPress 網站阿里網站
- 【譯】如何在5分鐘內讓HTTPS在您的本地開發環境中工作HTTP開發環境
- 宅經濟下,如何讓網站收益提高40%-300%?網站
- 新能力|靜態網站託管自定義域名支援強制 HTTPS網站HTTP