摘要:最近博客從阿里云搬遷到騰訊云,也修改了幾個(gè)程序上的,順便也啟用了,記錄一下。是按流量計(jì)費(fèi)的,感覺沒必要,所以使用自定義域名了還得充值塊錢如果使用域名的話需要上傳證書和私鑰的內(nèi)容,這里的證書推薦使用騰訊云的免費(fèi)證書,年有效期,不用頻繁續(xù)簽。
近兩年越來越多的網(wǎng)站開始使用 https,https 是一個(gè)基于 http 協(xié)議開發(fā),但是使用了 TLS/SSL 加密了傳輸數(shù)據(jù),所以,簡(jiǎn)單點(diǎn)說 https 是 http 協(xié)議的“安全版”。最近博客從阿里云搬遷到騰訊云,也修改了幾個(gè)程序上的 bug,順便也啟用了 https,記錄一下。
證書因?yàn)?https 采用 ssl 加密,所以部署 https時(shí)需要申請(qǐng)證書,證書的作用就是對(duì)瀏覽器和Web服務(wù)器雙方的身份驗(yàn)證,推薦文章:圖解HTTPS。
1. 申請(qǐng)
這里我使用了Let"s Encrypt免費(fèi)證書。雖然 Let"s Encrypt 只有3個(gè)月的有效期,但是因?yàn)橛衏ertbot自動(dòng)部署工具,自動(dòng)更新起來也非常簡(jiǎn)單。進(jìn)入 certbot 主頁,可以看到下圖所示。
選擇自己的web服務(wù)器類型和操作系統(tǒng),比如我這里是 nginx+centos6.5,選擇完畢之后會(huì)自動(dòng)給出安裝命令[以下命令以此為例]。
RedHat系
Debian系
安裝完之后執(zhí)行./certbot-auto certonly開始申請(qǐng)證書。申請(qǐng)證書有兩種驗(yàn)證方式,一種是standalone,這種驗(yàn)證方式雖然也可以部署后,但是以后更新證書的時(shí)候需要重啟 web 服務(wù)器,所以我采用了第二種Webroot,就是在網(wǎng)站根目錄下生成一個(gè)文件,通過訪問該文件來驗(yàn)證,不需要重啟 web 服務(wù)器。
如果選擇 Webroot 模式,并且web服務(wù)器開啟請(qǐng)求重定向的話,需要把 certbot 生成的文件的路徑開放,讓請(qǐng)求可以命中。
選擇驗(yàn)證模式之后,填寫網(wǎng)站根目錄以及域名,即可開始生成證書文件。以上操作也可以簡(jiǎn)化為一條命令./certbot-auto certonly --Webroot -d example.com -d www.example.com,多個(gè)域名使用-d追加。
執(zhí)行完畢如果產(chǎn)生類似以下代碼,即成功生成。
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/your.domain.com/fullchain.pem. Your cert will expire on 20XX-09-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let"s Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
2. 部署
接下來修改nginx配置,添加 443 端口的監(jiān)聽。
listen 443 ssl; server_name hersface.com www.hersface.com; ssl on; set $node_port 8360; ssl_certificate /etc/letsencrypt/live/hersface.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/hersface.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/hersface.com/chain.pem; ssl_session_timeout 5m; ssl_protocols TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;
重啟nginx服務(wù),訪問網(wǎng)站,https 已經(jīng)可以打開了。
3.證書更新
certbot 已經(jīng)有更新命令,我們只需要部署定時(shí)任務(wù)就行
30 2 15 * * /root/ssl/certbot-auto renew >> /var/log/le-renew.log
每月15號(hào)2:30執(zhí)行更新,并保存任務(wù)日志。事實(shí)上90天才過期,完全可以在80天的時(shí)候自動(dòng)更新,而且 Let’s Encrypt 也限制短期內(nèi)不能頻繁更新,但是不確定限制的時(shí)間是多少,因?yàn)樯暾?qǐng)完證書30天之后我使用更新命令的時(shí)候提示不需要更新。
4.其他免費(fèi)證書
騰訊云免費(fèi)證書
沃通免費(fèi)證書
阿里云免費(fèi)證書
之前博客的靜態(tài)資源是托管在七牛的,使用的七牛免費(fèi)域名。但是只能使用 http 的請(qǐng)求。因?yàn)樵陂_啟 https 的頁面上如果存在 http 資源的話,瀏覽器會(huì)提示
強(qiáng)迫癥表示不能忍。但是七牛如果想使用 https 的話,要么使用 cdn,要么自定義域名。cdn 是按流量計(jì)費(fèi)的,感覺沒必要,所以使用自定義域名了(還得充值10塊錢)
如果使用https域名的話需要上傳證書和私鑰的內(nèi)容,這里的證書推薦使用騰訊云的免費(fèi)證書,3年有效期,不用頻繁續(xù)簽。上傳完配置域名canme解析,如果解析成功,被七牛檢測(cè)到,就可以開始使用了該域名了。
多說兼容由于博客一直使用的是多說的評(píng)論框,但是多說對(duì) https 處理的非常不好。雖然 js 支持 https,但是用戶的第三方頭像和評(píng)論的表情圖片都是引用的 http 地址,百度搜了一下解決方案基本上都是替換 js 里的鏈接為本地地址,并把原地址當(dāng)參數(shù)傳入,由程序處理,或者配置反向代理,獲取原圖內(nèi)容,并輸出。
參考文章:
讓多說評(píng)論框完美支持HTTPS
于是我配置了一下反代。
location ~ "^/proxy/(.*)$" { resolver 8.8.8.8; proxy_pass http://$1; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; expires 7d; }
但是之后發(fā)現(xiàn)效果并不好,覺得加載速度特別慢,不知道因?yàn)槭桥渲糜袉栴},還是瀏覽器并發(fā)限制導(dǎo)致的。
后來在 github 搜出來一個(gè)神器:https://github.com/rainwsy/duoshuo-https,作者把第三方 http 地址改為七牛CDN處理。感謝!!!
至此,部署完畢。后面還需要再研究一下http2。
博客鏈接:?jiǎn)⒂?https 的一點(diǎn)記錄
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/39374.html
摘要:我們?cè)谄綍r(shí)的工作中,總是會(huì)遇到老舊的系統(tǒng)以及老舊陳的代碼。弊端就是需要維護(hù)兩套代碼,理解兩套技術(shù)選型。那么問題就來了新的代碼如何和舊的代碼解耦新代碼我們當(dāng)然是用新倉(cāng)庫(kù),新選擇,新打包工具。。。 我們?cè)谄綍r(shí)的工作中,總是會(huì)遇到老舊的系統(tǒng)以及老舊陳的代碼。他們是業(yè)務(wù)長(zhǎng)年累月的積累,以及因?yàn)槭侨⑺哪昵暗募夹g(shù)選型造成的系統(tǒng)架構(gòu)的不合理以及繁瑣的代碼。維護(hù)這些代碼總是很頭疼,程序員遇到這樣的代...
摘要:我們?cè)谄綍r(shí)的工作中,總是會(huì)遇到老舊的系統(tǒng)以及老舊陳的代碼。弊端就是需要維護(hù)兩套代碼,理解兩套技術(shù)選型。那么問題就來了新的代碼如何和舊的代碼解耦新代碼我們當(dāng)然是用新倉(cāng)庫(kù),新選擇,新打包工具。。。 我們?cè)谄綍r(shí)的工作中,總是會(huì)遇到老舊的系統(tǒng)以及老舊陳的代碼。他們是業(yè)務(wù)長(zhǎng)年累月的積累,以及因?yàn)槭侨⑺哪昵暗募夹g(shù)選型造成的系統(tǒng)架構(gòu)的不合理以及繁瑣的代碼。維護(hù)這些代碼總是很頭疼,程序員遇到這樣的代...
摘要:前言這篇文章的主題是記錄一次程序的性能優(yōu)化,在優(yōu)化的過程中遇到的問題,以及如何去解決的。因?yàn)槲覀兊倪B接數(shù)只有,一旦請(qǐng)求過多,勢(shì)必會(huì)導(dǎo)致數(shù)據(jù)庫(kù)瓶頸。我們?cè)俅螇簻y(cè),結(jié)果顯示萬,服務(wù)器數(shù)據(jù)庫(kù)連接正常,連接正常,響應(yīng)時(shí)間平均為,錯(cuò)誤率為。 前言 這篇文章的主題是記錄一次Python程序的性能優(yōu)化,在優(yōu)化的過程中遇到的問題,以及如何去解決的。為大家提供一個(gè)優(yōu)化的思路,首先要聲明的一點(diǎn)是,我的方式...
閱讀 2809·2023-04-25 18:06
閱讀 2606·2021-11-22 09:34
閱讀 1698·2021-11-08 13:16
閱讀 1323·2021-09-24 09:47
閱讀 3062·2019-08-30 15:44
閱讀 2785·2019-08-29 17:24
閱讀 2598·2019-08-23 18:37
閱讀 2448·2019-08-23 16:55