現在就啟用 HTTPS,免費的!
從現在開始,你應該可以在瀏覽器位址列https://konklone.com的旁邊,看到一個令人可喜的的鎖了。因為我已經在這個站點啟用了https,我沒有為此付任何費用。
為什麼你會厭煩做同樣的事:
- SSL不是完美的,但是我們應該使監督儘可能的高價。
- 對於隱私不應該心存懷疑,隱私就應該是處於預設情況下的。
- 還有,額外的津貼:在谷歌分析網站裡可供大家訪問的比較完整的推薦人資訊就早已啟用了https(像Hacker News)。
這篇文章向大家顯示了你通過在站點啟用https來構建監督防禦網路時,你應該如何做你的那一部分。雖然它有一堆的步驟,但是每一步都很簡單,並且你應該只要一個小時之內能夠完成。
概要: 目前想在 web 上使用 HTTPS 的話, 你需要獲得一個證照檔案, 該證照由一個受瀏覽器信任的公司所簽署. 一旦你獲得了它, 你就在你的 web 伺服器上指定其所在的位置, 以及與你關聯的私鑰的位置, 並開啟 443 埠準備使用. 你不需要是一個專業級軟體開發人員來做這個, 但是你需要 熟練使用命令列操作, 並能熟練的配置 你操控的伺服器.
大部分的證照都是要錢的, 但是我聽從了 Micah Lee 的 建議 後用了 StartSSL. 那也是 EFF 正在使用的, 而且 他們針對個人的基礎型證照是免費的. (他們會要求你去支付一個更高階的證照如果你的站點實際上是商業站點的話.) 值得注意的是他們的網站在一開始使用的時候很難用 — 尤其是如果你對於潛藏在 SSL 幕後的概念和術語還很陌生的話(就像我一樣). 幸運的是, 其實並不像想象中的那麼難, 只是會有很多細微的步驟而已.
下面, 我們將一步步的從註冊開始直到建立屬於你的證照. 我們也會覆蓋在 nginx 環境下的安裝知識, 但是你可以在任何你希望使用的 web 伺服器上使用該證照.
註冊StartSSL
開始,訪問註冊頁面 輸入你的資訊
他們會通過email發給你個驗證碼。在這期間不要關閉選項卡或瀏覽器 , 所以你只要保持開啟狀態,知道獲得驗證碼並貼上它。
等待幾分鐘就能獲得整數了。一旦通過申請,他們會傳送一封帶有特殊連線和驗證碼的email給你
完成之後會給你一個私人金鑰,在他們的伺服器上生成的私人金鑰,但這不是你建立SSL 證照的金鑰.他們用這個私人金鑰生成一個單獨的"認證證照",以後你可以用它來登入StartSSL的控制皮膚,下面你將要為你的網站建立一個整數了。
最後他們會叫你安裝證照
在你的瀏覽器上安裝驗證證照
要是你用的的Chrome 你將會在瀏覽器頭看到下面資訊
再次,這只是證明你在登入StartSSL 以後通過你的郵件裡的地址跳轉到這個頁面
現在,我們需要使得StartSSL相信我們擁有自己的域名,我們想要為他生成一個新的證照。從控制皮膚中,點選“Validations Wizard”,然後在下拉表單中選擇”Domain Name Validation“選項。
輸入你的域名。
接下來,你要選擇一個email地址,StartSSL將要用它來核實你的域名地址。正如你所見的,StartSSL將會相信你是擁有這個域名的,如果你能用域名控制 webmaster@,postmaster@, orhostmaster@或者是你的email地址已被列為域名註冊人資訊的一部分(就我而言,就是當前的這個konklone@gmail.com)。然後選擇一個你可以收到郵箱的郵箱地址。
他們會給你傳送一個驗證碼,你可以把它輸入到文字框中來驗證你的域名。
生成證照
現在 StartSSL知道你是誰了,知道了你的域名,你可以用你的私人金鑰來生成證照了。
這時StartSSL能為你生成一個私人金鑰— 在他們常見問題中(FAQ)像你保證他們只生成高質量的隨機金鑰,並且以後不會作為其他的金鑰 — 你也可以自己建立一個,很簡單。
這將會引導你通過命令列建立via。當你選擇 StartSSL的引導,你可以按引導步奏進行備份,在你為域名申請證照的地方。
開啟終端,建立一個新的 2048-bit RSA 金鑰
openssl genrsa -aes256 -out my-private-encrypted.key 2048
會讓你輸入一個密碼. 選擇一個,並記住它 .這會產生一個加密的私鑰 ,如果你需要通過網路轉移你的金鑰,就可以用這個加密的版本..
下一步是將其解碼, 從而通過它生成一個“證照籤發請求”. 使用如下命令來解碼你的私鑰:
openssl rsa -in my-private-encrypted.key -out my-private-decrypted.key
然後, 生成一個證照籤發請求:
openssl req -new -key my-private-decrypted.key -out mydomain.com.csr
回到 StartSSL 的控制皮膚並單擊 “Certificates Wizard” 標籤, 然後在下拉選單裡選擇 “Web Server SSL/TLS Certificate”.
由於我們已經生成了自己的私鑰, 所以你可以在此單擊 “Skip”.
然後, 在文字框內貼上入我們之前生成的 .csr 檔案裡面的內容.
如果一切正常的話, 它就會提示你說已經收到了你發出的證照籤發請求.
現在, 選擇你之前已經驗證過的計劃使用證照的域名.
它會要求你新增一個子域, 我給自己的新增的是 “www”.
它會要求你進行確認, 如果看上去沒錯的話, 單擊 “Continue”.
注意: 在你等待通過郵件獲得許可的那兒, 你有可能會遇到一個 "需要額外的驗證!" 的步驟, 第一次的時候我沒有遇到, 但是第二次的時候遇到了, 然後我的許可在大概30分鐘左右被批准, 一旦經過許可, 你需要去單擊 "Tool Box" 標籤頁並通過 "Retrieve Certificate" 來獲取你的證照.
然後應該會是這樣 — 你的證照將出現在一個文字域裡面供你去複製並貼上到一個檔案裡去, 給這個檔案隨便起個你想叫的名字就行, 但是在本指南接下來的部分裡將以 mydomain.com.crt 這個名字去引用它(譯者注, 原文為 asmydomain.com.crt, 參照下文 mydomain.com.crt 名稱來看, 應為as後未加空格導致的拼寫錯誤).
在nginx中安裝證照
首先, 確認443埠在你的web伺服器中已經開啟。許多web託管已經預設為你開啟了該埠。如果你使用Amazon AWS,你需要確在你的例項安全組中443埠是開放的。
下一步,我們將要建立web伺服器要使用的“證照鏈”。它包含你的證照和StartSSL中介證照(將StartSSL的跟證照包含進來不是必要的,因為瀏覽器已經包含了該證照)StartSSL下載中介證照:
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
然後將你的證照和他們的證照連線起來:
cat mydomain.com.crt sub.class1.server.ca.pem > unified.crt
最後,告訴你的Web伺服器你的統一證照和你的解密金鑰。 我使用nginx——下面是你需要的nginx的最要配置。它使用301永久重定向將所有的HTTP請求從定向為HTTPS 請求,然後指引伺服器使用證照要金鑰。
server { listen 80; server_name konklone.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name konklone.com; ssl_certificate /path/to/unified.crt; ssl_certificate_key /path/to/my-private-decrypted.key; } # for a more complete, secure config: # https://gist.github.com/konklone/6532544
Qualys' SSL 實驗室提供了完美的 SSL 測試工具, 你可以通過它看到你正在做的事情.
現在, 檢驗你對nginx的配置是正確的 (這也檢驗金鑰和證照工作正常):
sudo nginx -t
然後啟動 nginx:
sudo service nginx restart
稍等片刻,在你的瀏覽器中測試。如果進展順利,會在你的瀏覽器中出現
混合內容警告
如果你的網站在https協議中執行,你要確保所有連結資源 — 圖片,樣式表CSS, JavaScript等,都是HTTPS協議連結.如果你不這樣做,使用者的瀏覽器將無法正常訪問。比較新的火狐瀏覽器,將確保不安全的內容出現在一個安全頁面。
幸運的是幾乎每一個主要服務程式碼都會嵌入一個https版本,大多數情況下它會自動處理(包括 Google Analytics and Typekit). 你應該為其他人考慮一些個別的情況。
備份您的金鑰和證照
不要忘記備份您的 SSL 證照,和它的加密私鑰。我把它們放在一個私有的 git 庫裡面,並放一個說明文字檔案來描述每個檔案以及建立該檔案的程式或者命令。
您應當也備份您的認證證照,您用這些證照在 StartSSL 上登入。StartSSL 的 FAQ 頁面 已經說明 — 它是您從自己的瀏覽器中匯出的一個包含了證照和金鑰的 .p12 檔案。
相關文章
- 如何免費的讓網站啟用HTTPS網站HTTP
- 10分鐘免費開啟全站httpsHTTP
- 免費https證書HTTP
- 臥槽,WebStorm現在免費啦!WebORM
- 免費給自己的網站加 HTTPS網站HTTP
- centos nginx下配置免費httpsCentOSNginxHTTP
- 騰訊雲:免費SSL證書實現https請求HTTP
- 使用 Office Tool Plus 免費啟用 Office
- 阿里雲域名搭配騰訊雲免費申請的SSL實現HTTPS阿里HTTP
- 啟用 HTTPSHTTP
- Let's Encrypt 申請免費的 Https 證書HTTP
- 如何自動申請免費的HTTPS證書?HTTP
- win10啟用(免費+永久)視訊教程Win10
- 使用acme申請https免費證書ACMHTTP
- 如何提升開發效率?用這些免費API就夠了API
- 將網站應用從 HTTP 協議免費升級到 HTTPS網站HTTP協議
- Flask啟用httpsFlaskHTTP
- 遵義市城市免費WiFi首期專案啟用WiFi
- IntelliJIdea2017免費啟用方法IntelliJIdea
- 教你快速擼一個免費HTTPS證書HTTP
- 使用python免費傳送簡訊,想發多少就發多少,全部免費Python
- 開源精神就意味著免費嗎?
- 推薦一個免費的 https 證書註冊工具HTTP
- 老闆說“把系統升級到https”,我用一個指令碼實現了,而且永久免費!HTTP指令碼
- Node.js 部署免費/自動續訂 HTTPSNode.jsHTTP
- 免費 HTTPS 證書 Let's Encrypt 安裝教程HTTP
- 阿里雲免費Https證書申請使用阿里HTTP
- HTTPS StartSSL免費SSL證書申請之二HTTP
- HTTPS StartSSL免費SSL證書申請之一HTTP
- 通過 Certbot 安裝 Let's Encrypt 證書,實現免費的全站 HTTPS 訪問HTTP
- 如何免費試用SAP的Fiori應用
- nginx+騰訊雲免費ssl證書+阿里雲ECS實現Https配置Nginx阿里HTTP
- Windows Server 下 IIS 申請部署 Let’s Encrypt 證書實現 免費 HTTPSWindowsServerHTTP
- WebStorm 和 Rider 現在對非商業用途免費WebORMIDE
- 利用nginx和騰訊雲免費證書製作https的方法NginxHTTP
- stp檔案用什麼開啟 stp檔案用什麼免費軟體開啟
- 申請免費https證書及nginx相關配置HTTPNginx
- 試用免費的Oracle雲服務Oracle