小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

 Bladexu的文庫 2016-11-16

為什么要使用 HTTPS ?

首先來說一下 HTTP 與 HTTPS 協(xié)議的區(qū)別吧,他們的根本區(qū)別就是 HTTPS 在 HTTP 協(xié)議的基礎(chǔ)上加入了 SSL 層,在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密。簡單點(diǎn)說在 HTTP 協(xié)議下你的網(wǎng)站是光著身子在奔跑,但到了 HTTPS 下你穿了一件衣服,別人看不到你的肌肉了(當(dāng)然,這好像不是好事,不重要),更安全了一點(diǎn)點(diǎn),就大概這個(gè)意思。 SSL 依靠證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。采用 HTTPS 的服務(wù)器必須從證書頒發(fā)機(jī)構(gòu) CA(Certificate Authority)申請(qǐng)一個(gè)用于證明服務(wù)器用途類型的證書,當(dāng)然一般都有收費(fèi),而且不便宜,其實(shí)你也可以通過 OpenSSL 自己造一個(gè)證書,這樣有一個(gè)弊端是大家都不信任你造的證書。那怎么辦?

你必須知道的步驟

通過上面的簡單介紹你應(yīng)該知道了,要想你的網(wǎng)站支持 HTTPS ,就必須有一個(gè)被信任的證書,那這個(gè)證書就必須由證書頒發(fā)機(jī)構(gòu)(如VeriSign、Microsoft等)頒發(fā)的,否則你就會(huì)遇到如打開 12306.cn 這樣的您的連接不是私密連接的尷尬。

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

你肯定不想用戶打開后,你的網(wǎng)站是上面這樣的,身邊有好多朋友買票時(shí)問過我這是什么意思?我都沒辦法解釋給他們,哎。所以你需要要有下面幾個(gè)東西:

  • 一個(gè)域名(你肯定有)
  • Web 服務(wù)器(Nginx,Apache,IIS都行)
  • SSL 證書(最好 CA 機(jī)構(gòu)頒發(fā)的)

就完了,上面三個(gè)東西可能最麻煩就是搞到一個(gè)被全世界都信任的證書了,沒關(guān)系,現(xiàn)在我試著讓你免費(fèi)獲取一個(gè),注意是免費(fèi)!??!

提供免費(fèi)的證書商也就那么幾個(gè),最知名的可能是 StartSSL ,其他我還知道 Let's Encrypt ,不過這里我用的是國內(nèi)騰訊云的。

感謝騰訊云

對(duì)于得到一個(gè)受信任的證書很簡單,找第三方證書頒發(fā)機(jī)構(gòu)購買就行了,但是一個(gè)每年大幾千的證書費(fèi)用對(duì)于小企業(yè)或個(gè)人來說,有點(diǎn)接受不了,或者是沒錢?,F(xiàn)在好了,騰訊云認(rèn)證用戶可以申請(qǐng)到賽門鐵克(Symantec)免費(fèi)的 TrustAsia DV SSL 證書了。

登錄騰訊云管理平臺(tái)

SSL 證書申請(qǐng)地址在這里: https://console./ssl,點(diǎn)擊申請(qǐng)證書,會(huì)彈出下面的框:

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

上面顯示什么價(jià)值1900元/年,不要管,點(diǎn)擊確認(rèn)按鈕。彈出表單你填寫你要綁定的域名就行了:

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

接下來會(huì)驗(yàn)證你的域名,簡單說就是驗(yàn)證一下這個(gè)域名是不是你的,所以你要在域名解析添加一條 CName 記錄,實(shí)在不懂的話,官方也有怎么添加的文檔。

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

一般驗(yàn)證過程會(huì)很快,幾個(gè)小時(shí)吧,申請(qǐng)通過后,這時(shí)候你看到狀態(tài)是已頒發(fā)后,就能下載證書了。

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

下載下來你打開文件會(huì)看到Nginx,Apache,IIS三個(gè)文件夾,里邊放的就是對(duì)應(yīng)各個(gè)服務(wù)器的證書。到這里,整個(gè)證書申請(qǐng)流程就算完了,接下來就是配置 Web 服務(wù)器來支持網(wǎng)站的 HTTPS 訪問了。我這里用的 Nginx 演示。

Nginx 平滑升級(jí)以支持 HTTPS

要想讓 Web服務(wù)器支持 HTTPS ,首先你的服務(wù)器肯定要支持 SSL ,所以我們先檢查 Nginx 是否支持 SSL :

/usr/local/nginx/sbin/nginx -V

通過命令顯示信息,我們看configure arguments中是否有-with-http_ssl_module字樣,如果像我這樣沒有的話,你就需要重新編譯 Nginx 以支持 SSL 了。如果有,請(qǐng)?zhí)^這步驟,直接看Nginx 配置 HTTPS 服務(wù)那一節(jié)。

安裝 Nginx 可能大家都會(huì),不會(huì)的可以看 從零開始學(xué) Java - CentOS 下安裝 Nginx,但是平滑升級(jí) Nginx 可能你沒有體驗(yàn)過,這樣說吧,在線上服務(wù)器環(huán)境下,你要支持 HTTPS 訪問,但是你發(fā)現(xiàn)你的 Nginx 不支持 SSL ,你肯定不能卸載 Nginx 重新安裝時(shí)加載 SSL 模塊,因?yàn)槟鞘蔷€上服務(wù)器。你只能在現(xiàn)有安裝的 Nginx 下進(jìn)行無痛升級(jí)以以支持 SSL ,這就用到了 Nginx 的平滑升級(jí)概念。

找到你之前安裝 Nginx 時(shí)的編譯目錄,如果你和我一樣找不到或許刪除了,那我們就需要重新下載一個(gè) Nginx 了,當(dāng)然我們是通過 wget方式,看命令:

wget -c https:///download/nginx-1.10.1.tar.gztar -zxvf nginx-1.10.1.tar.gzcd nginx-1.10.1

配置,加入 SSL 模塊:

./configure --with-http_ssl_modulemake

注意,千萬不能在像安裝的時(shí)候make install了,因?yàn)槲覀冞@是升級(jí)。

備份原 Nginx 執(zhí)行腳本

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

把新版本 Nginx 編譯腳本放到可執(zhí)行文件目錄下

cd objs/cp nginx /usr/local/nginx/sbin/

進(jìn)行平滑升級(jí),命令:

make upgrade

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

這時(shí)候會(huì)輸出這些信息:

/usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successfulkill -USR2 `cat /usr/local/nginx/logs/nginx.pid`sleep 1test -f /usr/local/nginx/logs/nginx.pid.oldbinkill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

沒問題之后接下來,查看現(xiàn)在目前版本及安裝模塊:

/usr/local/nginx/sbin/nginx -V

看到已經(jīng)從 1.4.6 版本升級(jí)到了 1.10.1,而且這種升級(jí)不影響正常訪問的。線上環(huán)境操作也是可以的。

Nginx 配置 HTTPS 服務(wù)

編輯配置文件:

cd /usr/local/nginx/confvim nginx.conf

拉到最下面,會(huì)看到 HTTPS 配置被注釋掉了。嗯,這是模板,我們就在這配置。

讓你的網(wǎng)站免費(fèi)支持 HTTPS 及 Nginx 平滑升級(jí)

文字版:

server { listen 443 ssl; server_name www.domain.com; ssl on; ssl_certificate 1_www.domain.com_bundle.crt; ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; }}

把上面的ssl_certificatessl_certificate_key替換成你下載下來的證書存放路徑就行,記著下載下來的證書這種配置是放在/usr/local/nginx/conf目錄下的,當(dāng)然你也可以隨意放。

這時(shí)候,你就可以打開瀏覽器訪問一下試試了。正常情況 HTTPS 請(qǐng)求是打不開的,因?yàn)槲覀冞€沒設(shè)置防火墻,記得要開放443端口!,嗯,設(shè)置過防火墻就可以正常訪問了吧。

其實(shí)到這里,這個(gè)服務(wù)器支持 HTTPS 請(qǐng)求流程已經(jīng)結(jié)束了,但是你發(fā)現(xiàn)好多人在瀏覽器地址欄輸入域名的時(shí)候都不輸入http://https://的,因?yàn)闉g覽器會(huì)自動(dòng)幫我們加上http://的,所以,這時(shí)候輸入我們剛剛設(shè)置的域名其實(shí)還是沒有走https://請(qǐng)求,那怎么讓就是輸入http://也走HTTPS呢?

很簡單,Nginx 中這樣配置就行啦!

server { listen 80; server_name www.domain.com; rewrite ^(.*)$ https://$host$1 permanent;}

我們利用rewrite來做跳轉(zhuǎn)。監(jiān)聽到80端口的 HTTP 請(qǐng)求后,就轉(zhuǎn)發(fā)到 HTTPS ,當(dāng)然還有好多處理方式。

這篇文章講了一下怎么申請(qǐng)免費(fèi)的 HTTPS 證書,然后利用 Nginx 服務(wù)器來配置 HTTPS 請(qǐng)求訪問,并其中順手平滑升級(jí) Nginx,如絲般順滑的升級(jí),不影響正常訪問。HTTPS 方式的傳輸對(duì)我們網(wǎng)站來說應(yīng)該是提高了一些安全性的,況且這種方式又很簡單,可以試著搞一搞。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多