[ngrok內(nèi)網(wǎng)穿透]---實(shí)現(xiàn)https安全訪問(wèn)

背景:

HTTP(Hypertext Transfer Protocol)超文本傳輸協(xié)議是用來(lái)在Internet上傳送超文本的傳送協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。但HTTP協(xié)議采用明文傳輸信息,存在信息竊聽(tīng)、信息篡改和信息劫持的風(fēng)險(xiǎn)。

HTTPS(Secure Hypertext Transfer Protocol) 安全超文本傳輸協(xié)議是一個(gè)安全的通信通道,它基于HTTP開(kāi)發(fā),用于在客戶計(jì)算機(jī)和服務(wù)器之間交換信息。HTTPS使用安全套接字層(SSL)進(jìn)行信息交換,簡(jiǎn)單來(lái)說(shuō)HTTPS是HTTP的安全版,是使用TLS/SSL加密的HTTP協(xié)議。

什么是SSL數(shù)字證書(shū)(SSL證書(shū))?

數(shù)字證書(shū)的一種,類似于駕駛證、護(hù)照和營(yíng)業(yè)執(zhí)照的電子副本。因?yàn)榕渲迷诜?wù)器上,也稱為SSL服務(wù)器證書(shū)。SSL 證書(shū)就是遵守 SSL協(xié)議,由受信任的數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)CA(如GlobalSign,wosign),在驗(yàn)證服務(wù)器身份后頒發(fā),具有服務(wù)器身份驗(yàn)證和數(shù)據(jù)傳輸加密功能。

CA:

即證書(shū)授權(quán)中心(CA, Certificate Authority)。CA是負(fù)責(zé)簽發(fā)證書(shū)、認(rèn)證證書(shū)、管理已頒發(fā)證書(shū)的機(jī)關(guān)。用戶向CA提出申請(qǐng)后,CA負(fù)責(zé)審核用戶信息,然后對(duì)關(guān)鍵信息利用私鑰進(jìn)行”簽名”,并公開(kāi)對(duì)應(yīng)的公鑰??蛻舳丝梢岳霉€驗(yàn)證簽名。

CSR:

CSR(Certificate Signing Request)即證書(shū)請(qǐng)求文件,也就是證書(shū)申請(qǐng)者在申請(qǐng)數(shù)字證書(shū)時(shí)由CSP(加密服務(wù)提供者)在生成私鑰的同時(shí)也生成證書(shū)請(qǐng)求文件,證書(shū)申請(qǐng)者只要把CSR文件提交給證書(shū)頒發(fā)機(jī)構(gòu)后,證書(shū)頒發(fā)機(jī)構(gòu)使用其根證書(shū)私鑰簽名就生成了證書(shū)公鑰文件,也就是頒發(fā)給用戶的證書(shū)。

使用ssl證書(shū)優(yōu)勢(shì)?

谷歌從 2017 年1月1日起,Chrome 瀏覽器將會(huì)對(duì)未進(jìn)行HTTPS加密的網(wǎng)站標(biāo)記為「不安全」網(wǎng)站;

同時(shí)蘋(píng)果App Store的所有iOS應(yīng)用將強(qiáng)制采用ATS標(biāo)準(zhǔn),也就是強(qiáng)制使用 HTTPS;

在國(guó)內(nèi)熱火朝天的小程序也要求必須使用 HTTPS 請(qǐng)求。

  1. 防流量劫持
    全站Https是根治運(yùn)營(yíng)商、中間人流量劫持的解決方案,不僅可以杜絕網(wǎng)頁(yè)中被插入的小廣告,更可以保護(hù)用戶隱私安全。

  2. 提升搜索排名
    采用Https可以幫忙搜索排名的提升,提高站點(diǎn)的可信度和品牌形象。

  3. 杜絕釣魚(yú)網(wǎng)站
    Https地址欄綠色圖標(biāo)可以幫助用戶識(shí)別出釣魚(yú)網(wǎng)站,保障用戶和企業(yè)的利益不受損害,增強(qiáng)用戶信任。

過(guò)程:

昨天在學(xué)習(xí)小程序模仿知乎日?qǐng)?bào)的時(shí)候發(fā)現(xiàn)小程序居然不支持http://的請(qǐng)求,雖然可以在本地電腦環(huán)境用體驗(yàn)版小程序進(jìn)行測(cè)試,但是手機(jī)上不能預(yù)覽我是絕對(duì)不能忍受的!而且https是未來(lái)的趨勢(shì),學(xué)會(huì)配置個(gè)https訪問(wèn)的網(wǎng)站,也算是個(gè)技能吧(我是很絕對(duì)的 滑稽....)


在網(wǎng)上稍微瀏覽了下如何實(shí)現(xiàn)https訪問(wèn)
我這里選擇了阿里云的免費(fèi)證書(shū),下面是我申請(qǐng)證書(shū)的步驟:

1.首先,你需要有一臺(tái)阿里云的服務(wù)器,一個(gè)備案過(guò)的域名。

2.開(kāi)始申請(qǐng)證書(shū):
選擇控制臺(tái)===>安全(云盾)



點(diǎn)擊選擇并購(gòu)買(mǎi)證書(shū)



支付完成后,到我的證書(shū),補(bǔ)全信息

使用主域名即可

3.申請(qǐng)完成后等待簽發(fā).并下載證書(shū)



選擇apache

下載到本地的文件列表

什么嘛?申請(qǐng)個(gè)免費(fèi)DV證書(shū)就行了?apache服務(wù)器里配置就好了?
不存在的,不然我而不會(huì)昨天晚上熬到2點(diǎn)了,這里給自己點(diǎn)個(gè)贊!
我現(xiàn)在服務(wù)器使用的ngrok內(nèi)網(wǎng)穿透,也就是說(shuō)我自己的電腦就是服務(wù)器,具體了解請(qǐng)參考我的另一篇文章:Centos搭建Ngrok實(shí)現(xiàn)內(nèi)網(wǎng)穿透

誤區(qū):

一開(kāi)始我的思路就錯(cuò)了,我以為我的代理給本機(jī)做了轉(zhuǎn)發(fā),那么我只要將本地的apache配置證書(shū)就可以了(我類比成如果我的服務(wù)器是windows的,那的確是這個(gè)方法,但是我的服務(wù)器是在centos上用ngrok轉(zhuǎn)發(fā)的)。后來(lái)想想也太蠢了,ssl證書(shū)在本地配置,瀏覽器怎么識(shí)別你是安全的網(wǎng)站呢?

轉(zhuǎn)換思路:

應(yīng)該是將ngrok中的證書(shū)替換,建立一條安全隧道,通過(guò)這條隧道訪問(wèn)的網(wǎng)站即是安全的,可以通過(guò)https驗(yàn)證
然后我哦開(kāi)始著手找這方面的資料,百度上幾乎沒(méi)有這個(gè)詞條,最后還是簡(jiǎn)書(shū)的一個(gè)兄dei的文章里看到了我想要的,但是說(shuō)的比較籠統(tǒng),還好他貼了原文,是GitHub上外國(guó)友人寫(xiě)的帖子

我英語(yǔ)也不好,直接用了google翻譯,首先將下載下來(lái)的兩個(gè)文件



將第一個(gè)重命名為1.key,第二個(gè)重命名為2.crt,傳到ngrok的目錄下,
啟動(dòng)ngrok

sudo ./bin/ngrokd -domain="abc.com" -tlsKey="1.key" -tlsCrt="/usr/local/src/ngrok/2.crt" &

ngrok 默認(rèn)隧道端口:4443;http端口:80;https端口:443
本機(jī)的apache不用做任何修改只需要開(kāi)放443端口就可以



訪問(wèn)測(cè)試:



大功告成?。?!
啦啦啦啦~~~~
歡迎大家交流~!

著作權(quán)歸作者所有。
商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,698評(píng)論 0 13
  • 前言 在說(shuō)HTTPS之前先說(shuō)說(shuō)什么是HTTP,HTTP就是我們平時(shí)瀏覽網(wǎng)頁(yè)時(shí)候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)...
    布丁大人閱讀 2,848評(píng)論 2 14
  • 其實(shí),我對(duì)https以前只有一個(gè)大概的了解,最近工作中遇到一個(gè)問(wèn)題從而將https協(xié)議做了一個(gè)徹底的學(xué)習(xí)和認(rèn)知,下...
    一條魚(yú)的星辰大海閱讀 3,546評(píng)論 0 1
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文傳播,帶來(lái)了三大風(fēng)險(xiǎn)。 (1)竊聽(tīng)風(fēng)險(xiǎn)...
    XLsn0w閱讀 11,069評(píng)論 2 44
  • 老張這幾天換了個(gè)人似的,雖說(shuō)平時(shí)也不邋遢,但連續(xù)幾次,花白胡子茬對(duì)著鏡子光了十分鐘還真是少見(jiàn),閨女心細(xì),回...
    北庭書(shū)生閱讀 541評(píng)論 2 2

友情鏈接更多精彩內(nèi)容