為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2017-09 文章編輯:小燈 瀏覽次數(shù):2884
谷歌從2017年開(kāi)始chrome瀏覽器會(huì)把采用http協(xié)議的網(wǎng)站標(biāo)記為不安全的網(wǎng)站,蘋(píng)果也是從2017年開(kāi)始規(guī)定所有的應(yīng)用都必須采用https的加密連接。在國(guó)內(nèi),熱火朝天的微信小程序也規(guī)定必須使用https協(xié)議的接入域名。特別是蘋(píng)果商店的變化會(huì)影響到很多很多的開(kāi)發(fā)者,現(xiàn)在默認(rèn)的配置都是采用https協(xié)議連接的。從安全層面看的話https協(xié)議顯然是比http協(xié)議有很多的優(yōu)勢(shì)。我們也應(yīng)該緊跟潮流的趨勢(shì),在app中采用證書(shū)的驗(yàn)證,通過(guò)啟用https協(xié)議來(lái)保護(hù)所訪問(wèn)到的資源。如果說(shuō)我們自己的站點(diǎn)沒(méi)有使用https協(xié)議的話,在大陸的場(chǎng)景下,容易被電信聯(lián)通劫持,注入惡意的話費(fèi)充值廣告,所以最好還是讓我們的網(wǎng)站強(qiáng)制使用https協(xié)議,起碼可以避免isp的劫持。
關(guān)于ssl的原理就不多介紹了,接下來(lái)就介紹一下如何申請(qǐng)一個(gè)ssl證書(shū)。
常見(jiàn)的ssl證書(shū)類(lèi)型有:dv、ov、ev,其安全等級(jí)為:ev>ov>dv。
常用的ssl廠商有:
1、Symantec
2、GeoTrust
3、trustasiahttps://www.trustasia.com/
可以申請(qǐng)免費(fèi)ssl證書(shū)的平臺(tái)有很多,我們主要推薦的有騰訊云https://www.qcloud.com/、又拍云https://www.upyun.com、七牛https://www.qiniu.com、阿里云。這四個(gè)平臺(tái)對(duì)應(yīng)著其背后的四個(gè)廠商,我們主要考慮廠商的實(shí)力和做產(chǎn)品的持續(xù)度。
我們以騰訊云為例介紹一下如何申請(qǐng)ssl證書(shū)
1、登錄騰訊云點(diǎn)擊控制臺(tái):
5、實(shí)名認(rèn)證通過(guò)后再進(jìn)入“證書(shū)列表頁(yè)”中點(diǎn)擊“申請(qǐng)證書(shū)”,選擇“亞洲誠(chéng)信”的免費(fèi)版dv證書(shū),點(diǎn)確定。
6、證書(shū)申請(qǐng)頁(yè)面填入相應(yīng)信息,點(diǎn)擊下一步
8、在dnspod中更改主機(jī)記錄和記錄值為騰訊云提供的值
此時(shí)證書(shū)列表中該證書(shū)狀態(tài)為“已頒發(fā)”。
9、我們把證書(shū)下載下來(lái),解壓縮一下,其中包括了Apache、IIS、Nginx、Tomcat四種服務(wù)器所對(duì)應(yīng)的key,這個(gè)key我們要上傳到服務(wù)器上去。
10、把下載下來(lái)的證書(shū)上傳到服務(wù)器上:
我們?cè)诜?wù)器上可以看到,這兩個(gè)文件已經(jīng)上傳成功
我們把ssl文件放在/www/目錄下:
11、nginx證書(shū)部署
我們可以參考nginx證書(shū)安裝指引文檔:https://www.qcloud.com/document/product/400/4143#2.-nginx-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2。
我們復(fù)制選中的部分:
upstream blog { server 127.0.0.1:8082; }server { listen 80; server_name blog.xiaoxiekeke.com; #rewrite ^(.*) https://$host$1 permanent; return 301 https://blog.xiaoxiekeke.com$request_uri; #如果是http協(xié)議的話重定向到https地址 } server {listen 443;#ssl證書(shū)訪問(wèn)的端口號(hào) server_name blog.xiaoxiekeke.com; #填寫(xiě)綁定證書(shū)的域名 ssl on; ssl_certificate /www/ssl/1_blog.xiaoxiekeke.com_bundle.crt; ssl_certificate_key /www/ssl/2_blog.xiaoxiekeke.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個(gè)協(xié)議配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個(gè)套件配置 ssl_prefer_server_ciphers on;if ($ssl_protocol = "") { rewrite ^(.*) https://$host$1 permanent; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_pass http://blog; proxy_redirect off; } } ~
配置好后sudo nginx -t
檢查一下
12、測(cè)試效果:
此時(shí)我們測(cè)試一下在瀏覽器中輸入:http://blog.xiaoxiekeke.com/posts 會(huì)直接訪問(wèn)到https://blog.xiaoxiekeke.com/posts 安全域名下:
經(jīng)過(guò)了將近一個(gè)月的學(xué)習(xí)和摸索,慕課網(wǎng)scott老師的實(shí)戰(zhàn)課程“全棧最后一公里”終于跟著學(xué)完了。這套課程真是滿(mǎn)滿(mǎn)的干貨,學(xué)到了很多知識(shí),物超所值。有興趣的同學(xué)也可以購(gòu)買(mǎi)下來(lái)學(xué)習(xí),相信曾經(jīng)付出的學(xué)習(xí)成本,總有一天時(shí)間會(huì)數(shù)百倍的回報(bào)給你。
在scott老師的指導(dǎo)下,我終于通過(guò)自己的努力把成功的把項(xiàng)目部署上線了,也了解了很多服務(wù)器安全配置相關(guān)的知識(shí),算是剛?cè)肓巳珬5拈T(mén),感覺(jué)自己距離真正的全棧還有好遠(yuǎn)的距離。不過(guò)沒(méi)關(guān)系,只要堅(jiān)持下來(lái),持續(xù)不斷的學(xué)習(xí),就會(huì)不斷的進(jìn)步,總有一天會(huì)心如所愿,成長(zhǎng)成為一名真正合格的全棧工程師,我期待著這一天的到來(lái)。
在學(xué)習(xí)的過(guò)程中如果遇到任何問(wèn)題都可以來(lái) 中問(wèn)我,如果有什么心得體會(huì)也可以來(lái) 和我交流,我期待著在學(xué)習(xí)的過(guò)程中跟大家共勉!