<button id="hu96j"><acronym id="hu96j"></acronym></button><dd id="hu96j"><pre id="hu96j"></pre></dd>
        <video id="hu96j"><font id="hu96j"><th id="hu96j"></th></font></video>
          <nav id="hu96j"></nav>
        <tbody id="hu96j"><center id="hu96j"><video id="hu96j"></video></center></tbody>

      1. <dd id="hu96j"><track id="hu96j"></track></dd>

        <dd id="hu96j"></dd>
        <rp id="hu96j"><acronym id="hu96j"></acronym></rp>
      2. <button id="hu96j"></button>

        • 保存到桌面加入收藏設為首頁
        網絡安全

        為什么網站要做https認證?

        時間:2017-12-06 17:13:54   作者:人人網FED   來源:51CTO   閱讀:26781   評論:0
        內容摘要:https升級后的問題是:加密和解密需要占用更多的CPU,并且加密后的數據會變大,但是據筆者觀察加上gzip壓縮之后,https傳輸的內容大小幾乎和http一樣。除了正常的tcp連接之外,還要建立ssl連接,這個時間一般在0.3s ~ 0.5s左右,這個是需要付出點代價的,但是由于瀏覽器左下角會提示用戶“正在建立安全連接”,有一個緩沖的過程,所以其實還好。
        筆者最近把博客網站升級到了https:https://fed.renren.com,為什么要升級呢?
        舉一個最簡單的例子,當我打開這個網頁的時候:在網頁的右下角會顯示一個廣告:
        為什么網站要做https認證?
        但是這個網站是美國的:

        為什么網站要做https認證?


        為什么中國的廣告會打到美國去了?并且不止一個網站有這個問題,自己的博客網站在我家打開經常也會有這個問題,經常會彈一些廣告,這是為什么呢?
        因為網站被運營商劫持了,它往你的html里面注入了一段廣告的html,如下圖所示:
        為什么網站要做https認證?
        這個時候運營商就相當于一個中間人,如下圖所示:

        為什么網站要做https認證?


        這個我在《https連接的前幾毫秒發生了什么》已經介紹過,不過不太一樣的是,由于中間人的身份比較特殊,是運營商,所以它是在正常的連接上面的。也可以說由于運營商暗地里做了劫持,你也可以認為它不是一個正常的連接了。
        不管怎么樣,這種劫持也叫http劫持只發生在http連接上,而https的連接是沒這個問題的,基本只要打開的是https的網頁都不會被注入廣告。因為傳輸的數據都是加密的,中間人收到的是一串無法解密的文本,它也不知道怎么篡改。
        防火防盜防運營商,但是注入廣告還算是小事,因為如果是http連接你的數據在網絡上都是明文傳輸的,包括你的密碼等敏感信息,你和服務器之間經過的路由都可以嗅探到你的數據,可以做些修改如嵌入一個廣告,做一些破壞,或者只單純的抓取信息如郵件內容、賬號密碼等。所以使用https是很有必要的,火狐會在非https的網頁的密碼輸入框提示不安全:

        為什么網站要做https認證?


        Chrome/firefox等瀏覽器會在較明顯的位置提示當前http網站不安全,只要點一下地址欄左邊的i按鈕就會彈出來:

        為什么網站要做https認證?


        并且https的網站能夠提升SEO。
        在外面連的公共wifi,使用https能夠減少賬號信息被盜的風險,但也不是100%安全,因為它可以用其它的方式如在你的設備上種植木馬等獲取和控制你的賬號。
        不管怎么樣,搞一個https還是很有必要的,至少不要讓別人以為那個廣告是你自己的網站打的。那怎么建立一個https的網站呢?我在《https連接的前幾毫秒發生了什么》已經簡單介紹過,需要購買SSL的證書,網上也有一些免費的證書。在某家證書購買機構可以看到證書的分類和價格:
        為什么網站要做https認證?
        證書分為三種dv(域名型)、ov(企業型)和ev(增強型),dv是最簡單的只要有一個可以訪問的域名就可以申請,而ov是給企業用的,申請比較嚴格需要提供企業的相關材料,ev可以在地址欄上顯示公司的名字,如sitepoint.com。對于我們這種小博客網站搞一個dv型的就可以了。
        有一個免費的dv型證書頒發機構叫letsencrypt,它可以提供三個月的免費使用,到期了再續一下就行,所以說它是免費的。而且安裝和申請非常簡單,使用certbot安裝。下面簡單介紹下安裝過程:

        先打開certbot的網站,選擇你的操作系統,如筆者用的是centos + nginx:

        為什么網站要做https認證?


        然后它就會提示你怎么裝了,先下載一個編譯好的可執行文件:
        wget https://dl.eff.org/certbot-auto 
        chmod a+x certbot-auto 
        然后再執行安裝的命令:
        sudo ./path/to/certbot-auto --nginx 
        它會先安裝一些python的包,之后會讓你輸入你的郵箱,然后自動去找你的nginx配置文件,找出里面的server的域名列出來,讓你選哪個要安裝https證書:
        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):


        選好了之后它就會去申請證書,然后檢驗域名的合法性,如果報了連接超時的錯誤:
        – The following errors were reported by the server:
        Domain: trumporate.com
        Type: connection

        Detail: Timeout


        那么很可能是防火墻iptables的443端口沒有開放,只要把它和80端口一樣開放一下就好了。
        成功驗證后它就會把SSL的證書下載下來,同時給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 


        還會提示是否要把http的重定向到https,如果選是的話,它就會添加以下nginx配置:
        if ($scheme != "https") { 
            return 301 https://$host$request_uri; 

        } # managed by Certbot 


        301表示資源永久轉移,瀏覽器收到301響應之后就會自動做重定向。
        由于網站的很多圖片的地址是http的已經固化到數據庫里面,導致需要在https的網頁里加載http的圖片,這樣即使是配了證書,瀏覽器也會提示不安全,瀏覽器地址樣欄的小鎖也沒有了:

        為什么網站要做https認證?


        如果手動去改數據庫會比較麻煩,有個比較簡單的方法就是使用讓http升級的meta標簽:
        <meta http-equiv="Content-Security-Policy"  

            content="upgrade-insecure-requests"> 


        這樣頁面上所有的http請求都會強制變成https的請求。如果某些請求的服務器不支持https那這些請求就會掛掉,但我這個網站沒有這個問題。


        這樣就愉快地把網站免費升級成https了:

        為什么網站要做https認證?


        在瀏覽器查看證書:

        為什么網站要做https認證?


        https升級后的問題是:加密和解密需要占用更多的CPU,并且加密后的數據會變大,但是據筆者觀察加上gzip壓縮之后,https傳輸的內容大小幾乎和http一樣。除了正常的tcp連接之外,還要建立ssl連接,這個時間一般在0.3s ~ 0.5s左右,這個是需要付出點代價的,但是由于瀏覽器左下角會提示用戶“正在建立安全連接”,有一個緩沖的過程,所以其實還好。


        如果您的網站需要升級到https可以點擊右側客服QQ咨詢。


        IDCsped 提供最新的IT互聯網資訊,本著分享、傳播的宗旨,我們希望能幫助更多人了解需要的信息!

        部分文章轉載自互聯網、部分是IDCsped原創文章,如果轉載,請注明出處:www.idcsped.com !
        微信號:13430280788  歡迎加微信交流!

        標簽:https認證  網站https升級  ssl認證  
        相關評論

        銷售電話:13430280788

        Copyright © 2012-2017 | www.idcsped.com 版權所有

          粵公網安備 44010502001126號  粵ICP備12006439號-1
        Powered by OTCMS V3.61
        日韩欧美永久中文字幕视频
          <button id="hu96j"><acronym id="hu96j"></acronym></button><dd id="hu96j"><pre id="hu96j"></pre></dd>
            <video id="hu96j"><font id="hu96j"><th id="hu96j"></th></font></video>
              <nav id="hu96j"></nav>
            <tbody id="hu96j"><center id="hu96j"><video id="hu96j"></video></center></tbody>

          1. <dd id="hu96j"><track id="hu96j"></track></dd>

            <dd id="hu96j"></dd>
            <rp id="hu96j"><acronym id="hu96j"></acronym></rp>
          2. <button id="hu96j"></button>