https+自定義域名內網穿透(飛鴿)

注冊,開通隧道

注冊:https://www.fgnwct.com/index.html
購買隧道:

image.png

開通成功:
image.png

下載客戶端與啟動(windows)

Windows - 客戶端啟動方式
在首頁中下載你需要的Windows客戶端


image.png

解壓到本地后,進入cmd命令行下,使用“隧道管理”中的啟動命令直接啟動。或者直接在傻瓜式運行中貼入啟動命令
Windows下隱藏黑窗口


image.png

image.png

直接啟動客戶端的話,是在前臺運行,關閉黑窗口就直接關閉了程序??,可以使用VB腳本的方式來隱藏黑窗口,使客戶端在后臺運行,缺點是看不到訪問日志了,或者直接使用注冊到系統服務


image.png

在客戶端根目錄創建文件"start.vbs",編輯并復制下面的代碼,注意將命令中的npc.exe -server=xxxx -vkey=xxxx替換成你的隧道管理中的啟動命令

Set ws = createObject("WScript.shell")
ws.run "cmd /c npc.exe -server=xxxx -vkey=xxxx",vbhide

直接雙擊運行start.vbs就可以了,關閉進程可以在任務管理器中找到 npc.exe,結束掉就行


image.png

使用自定義域名

使用自己的域名訪問內網下穿透的服務,在開通隧道時,選擇域名類型為自定義域名,注意非香港節點服務器需要使用在阿里云已備案、已備案、已備案的域名(阿里云的服務器只能使用阿里云的域名??),并在域名服務商平臺將CNAME解析指向啟動命令中 -server 的地址上。

注意,CNAME所對應解析的域名地址不加端口號、不加端口號、不加端口號???

image.png

image.png

阿里云域名解釋
image.png

image.png

如何使用https

如果想要通過https的方式訪問服務,首先需要在本地的web服務器中配置SSL證書,然后穿透443端口即可。
問:為什么別人家的內網穿透穿透可以將我本地的http轉成https?

答:因為飛鴿內網穿透使用的是端口轉發模式,即80到80,443到443。如果在服務器上將80轉換成443,對于多個用戶使用同一個證書而言,風險比較大, 例如:張三發布了一些非法信息而導致證書爆紅,李四所訪問的頁面也將會爆紅

問:怎么配置SSL證書呢?

答:對于不同web服務器配置證書的方式也不同,請參考下面的在阿里云免費申請證書

在阿里云免費申請SSL證書

免費申請鏈接: https://common-buy.aliyun.com/?spm=5176.14113079.0.0.22d456a7lJqouJ&commodityCode=cas

image.png

申請證書
購買成功后前往控制臺申請證書


image.png

綁定域名
證書綁定域名輸入飛鴿分配的域名(如果你實現了使用上述步驟中的使用自定義域名, 這里應該使用自定義域名申請證書),域名驗證方式選擇文件驗證


image.png

域名驗證
這一步主要是為了驗證這個域名是屬于你的,阿里云提供了兩種方式,在上一步我們選擇了文件驗證方式,下載阿里云提供到txt文件放到你域名指定訪問目錄,點擊驗證之前,需要開啟內網穿透客戶端。
如下圖所示,驗證地址為:xxx/.well-known/pki-validation/fileauth.txt


image.png

image.png

等待審核
一旦文件驗證成功后,阿里云將會在幾分鐘內為你簽發證書,此時,我們只需要將證書下載到本地,部署到本地的web服務器中即可使用https服務了


image.png

image.png

image.png

部署成功
部署成功后,你的訪問地址將出現一把安全鎖


image.png

將證書部署到本地的Nginx中

(建議使用證書部署到本地nginx再使用nginx轉發的方式, 這樣對要部署的項目侵入少)
步驟1:下載證書到本地

  1. 登錄SSL證書控制臺

  2. 在概覽頁面,單擊證書列表上方的證書狀態下拉列表,并選擇已簽發。

    該操作將會篩選出所有已經通過CA機構簽發的證書。

  3. 定位到要下載的證書,單擊操作列下的下載。

  4. 在證書下載頁面,定位到Nginx服務器,單擊操作列下的下載。

    該操作會將Nginx服務器證書壓縮包下載到本地,并保存在瀏覽器的默認下載位置。

  5. 打開瀏覽器的默認下載位置,解壓已下載的Nginx證書壓縮包文件。

    解壓后您將會獲得以下文件:

    • PEM格式的證書文件。

      注意 在后續安裝證書的操作中,您必須使用真實的證書文件名稱替換示例代碼中的cert-file-name

      PEM格式的證書文件是采用Base64編碼的文本文件,您可以根據需要將證書文件修改成其他格式。關于證書格式的更多信息,請參見主流數字證書都有哪些格式

    • 可選:KEY格式的證書密鑰文件。

      注意 如果您在申請證書時將CSR生成方式設置為手動填寫,則下載的證書文件壓縮包中不會包含KEY文件,您需要手動創建證書密鑰文件。

  6. 在Nginx服務器上安裝證書。

    根據您是否使用獨立的Nginx服務器,安裝證書的操作不同, 這里使用的是獨立服務器的方式

  7. 修改nginx.conf文件,注意證書放在cong/cert文件夾下

#以下屬性中,以ssl開頭的屬性表示與證書配置有關。
server {
    listen 443 ssl;
    #配置HTTPS的默認訪問端口為443。
    #如果未在此處配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。
    #如果您使用Nginx 1.15.0及以上版本,請使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要將yourdomain.com替換成證書綁定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要將cert-file-name.pem替換成已上傳的證書文件的名稱。
    ssl_certificate_key cert/cert-file-name.key; #需要將cert-file-name.key替換成已上傳的證書密鑰文件的名稱。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的類型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS協議的類型。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #站點目錄。
        index index.html index.htm;
    }
}
  1. 重啟nginx, 現在使用你的自定義域名+https訪問一下瀏覽器試試吧
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。