新聞中心
[[202583]]

十多年的寧津網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整寧津建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“寧津網(wǎng)站設(shè)計(jì)”,“寧津網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
筆者最近把博客網(wǎng)站升級(jí)到了https:https://fed.renren.com,為什么要升級(jí)呢?
舉一個(gè)最簡(jiǎn)單的例子,當(dāng)我打開(kāi)這個(gè)網(wǎng)頁(yè)的時(shí)候:在網(wǎng)頁(yè)的右下角會(huì)顯示一個(gè)廣告:
但是這個(gè)網(wǎng)站是美國(guó)的:
為什么中國(guó)的廣告會(huì)打到美國(guó)去了?并且不止一個(gè)網(wǎng)站有這個(gè)問(wèn)題,自己的博客網(wǎng)站在我家打開(kāi)經(jīng)常也會(huì)有這個(gè)問(wèn)題,經(jīng)常會(huì)彈一些廣告,這是為什么呢?
因?yàn)榫W(wǎng)站被運(yùn)營(yíng)商劫持了,它往你的html里面注入了一段廣告的html,如下圖所示:
這個(gè)時(shí)候運(yùn)營(yíng)商就相當(dāng)于一個(gè)中間人,如下圖所示:
這個(gè)我在《https連接的前幾毫秒發(fā)生了什么》已經(jīng)介紹過(guò),不過(guò)不太一樣的是,由于中間人的身份比較特殊,是運(yùn)營(yíng)商,所以它是在正常的連接上面的。也可以說(shuō)由于運(yùn)營(yíng)商暗地里做了劫持,你也可以認(rèn)為它不是一個(gè)正常的連接了。
不管怎么樣,這種劫持也叫http劫持只發(fā)生在http連接上,而https的連接是沒(méi)這個(gè)問(wèn)題的,基本只要打開(kāi)的是https的網(wǎng)頁(yè)都不會(huì)被注入廣告。因?yàn)閭鬏數(shù)臄?shù)據(jù)都是加密的,中間人收到的是一串無(wú)法解密的文本,它也不知道怎么篡改。
防火防盜防運(yùn)營(yíng)商,但是注入廣告還算是小事,因?yàn)槿绻莌ttp連接你的數(shù)據(jù)在網(wǎng)絡(luò)上都是明文傳輸?shù)?,包括你的密碼等敏感信息,你和服務(wù)器之間經(jīng)過(guò)的路由都可以嗅探到你的數(shù)據(jù),可以做些修改如嵌入一個(gè)廣告,做一些破壞,或者只單純的抓取信息如郵件內(nèi)容、賬號(hào)密碼等。所以使用https是很有必要的,火狐會(huì)在非https的網(wǎng)頁(yè)的密碼輸入框提示不安全:
Chrome/firefox等瀏覽器會(huì)在較明顯的位置提示當(dāng)前http網(wǎng)站不安全,只要點(diǎn)一下地址欄左邊的i按鈕就會(huì)彈出來(lái):
并且https的網(wǎng)站能夠提升SEO。
在外面連的公共wifi,使用https能夠減少賬號(hào)信息被盜的風(fēng)險(xiǎn),但也不是100%安全,因?yàn)樗梢杂闷渌姆绞饺缭谀愕脑O(shè)備上種植木馬等獲取和控制你的賬號(hào)。
不管怎么樣,搞一個(gè)https還是很有必要的,至少不要讓別人以為那個(gè)廣告是你自己的網(wǎng)站打的。那怎么建立一個(gè)https的網(wǎng)站呢?我在《https連接的前幾毫秒發(fā)生了什么》已經(jīng)簡(jiǎn)單介紹過(guò),需要購(gòu)買(mǎi)SSL的證書(shū),網(wǎng)上也有一些免費(fèi)的證書(shū)。在某家證書(shū)購(gòu)買(mǎi)機(jī)構(gòu)可以看到證書(shū)的分類(lèi)和價(jià)格:
證書(shū)分為三種dv(域名型)、ov(企業(yè)型)和ev(增強(qiáng)型),dv是最簡(jiǎn)單的只要有一個(gè)可以訪問(wèn)的域名就可以申請(qǐng),而ov是給企業(yè)用的,申請(qǐng)比較嚴(yán)格需要提供企業(yè)的相關(guān)材料,ev可以在地址欄上顯示公司的名字,如sitepoint.com。對(duì)于我們這種小博客網(wǎng)站搞一個(gè)dv型的就可以了。
有一個(gè)免費(fèi)的dv型證書(shū)頒發(fā)機(jī)構(gòu)叫l(wèi)etsencrypt,它可以提供三個(gè)月的免費(fèi)使用,到期了再續(xù)一下就行,所以說(shuō)它是免費(fèi)的。而且安裝和申請(qǐng)非常簡(jiǎn)單,使用certbot安裝。下面簡(jiǎn)單介紹下安裝過(guò)程:
先打開(kāi)certbot的網(wǎng)站,選擇你的操作系統(tǒng),如筆者用的是centos + nginx:
然后它就會(huì)提示你怎么裝了,先下載一個(gè)編譯好的可執(zhí)行文件:
- wget https://dl.eff.org/certbot-auto
- chmod a+x certbot-auto
然后再執(zhí)行安裝的命令:
- sudo ./path/to/certbot-auto --nginx
它會(huì)先安裝一些python的包,之后會(huì)讓你輸入你的郵箱,然后自動(dòng)去找你的nginx配置文件,找出里面的server的域名列出來(lái),讓你選哪個(gè)要安裝https證書(shū):
- Which names would you like to activate HTTPS for?
- ——————————————————————————-
- 1: fed.renren.com
- ——————————————————————————-
- Select the appropriate numbers separated by commas and/or spaces, or leave input
- blank to select all options shown (Enter ‘c’ to cancel):
選好了之后它就會(huì)去申請(qǐng)證書(shū),然后檢驗(yàn)域名的合法性,如果報(bào)了連接超時(shí)的錯(cuò)誤:
- – The following errors were reported by the server:
- Domain: trumporate.com
- Type: connection
- Detail: Timeout
那么很可能是防火墻iptables的443端口沒(méi)有開(kāi)放,只要把它和80端口一樣開(kāi)放一下就好了。
成功驗(yàn)證后它就會(huì)把SSL的證書(shū)下載下來(lái),同時(shí)給nginx的添加ssl的配置:
- listen 443 ssl; # managed by Certbot
- ssl_certificate /etc/letsencrypt/live/fed.renren.com/fullchain.pem; # managed by Certbot
- ssl_certificate_key /etc/letsencrypt/live/fed.renren.com/privkey.pem; # managed by Certbot
- include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
還會(huì)提示是否要把http的重定向到https,如果選是的話,它就會(huì)添加以下nginx配置:
- if ($scheme != "https") {
- return 301 https://$host$request_uri;
- } # managed by Certbot
301表示資源***轉(zhuǎn)移,瀏覽器收到301響應(yīng)之后就會(huì)自動(dòng)做重定向。
由于網(wǎng)站的很多圖片的地址是http的已經(jīng)固化到數(shù)據(jù)庫(kù)里面,導(dǎo)致需要在https的網(wǎng)頁(yè)里加載http的圖片,這樣即使是配了證書(shū),瀏覽器也會(huì)提示不安全,瀏覽器地址樣欄的小鎖也沒(méi)有了:
如果手動(dòng)去改數(shù)據(jù)庫(kù)會(huì)比較麻煩,有個(gè)比較簡(jiǎn)單的方法就是使用讓http升級(jí)的meta標(biāo)簽:
- content="upgrade-insecure-requests">
這樣頁(yè)面上所有的http請(qǐng)求都會(huì)強(qiáng)制變成https的請(qǐng)求。如果某些請(qǐng)求的服務(wù)器不支持https那這些請(qǐng)求就會(huì)掛掉,但我這個(gè)網(wǎng)站沒(méi)有這個(gè)問(wèn)題。
這樣就愉快地把網(wǎng)站免費(fèi)升級(jí)成https了:
在瀏覽器查看證書(shū):
https升級(jí)后的問(wèn)題是:加密和解密需要占用更多的CPU,并且加密后的數(shù)據(jù)會(huì)變大,但是據(jù)筆者觀察加上gzip壓縮之后,https傳輸?shù)膬?nèi)容大小幾乎和http一樣。除了正常的tcp連接之外,還要建立ssl連接,這個(gè)時(shí)間一般在0.3s ~ 0.5s左右,這個(gè)是需要付出點(diǎn)代價(jià)的,但是由于瀏覽器左下角會(huì)提示用戶“正在建立安全連接”,有一個(gè)緩沖的過(guò)程,所以其實(shí)還好。
網(wǎng)頁(yè)名稱(chēng):為什么要把網(wǎng)站升級(jí)到HTTPS
網(wǎng)頁(yè)鏈接:http://m.fisionsoft.com.cn/article/dpdphgp.html


咨詢
建站咨詢
