HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    nginx訪問ngrok內(nèi)網(wǎng)接口(nginx怎么訪問)

    發(fā)布時(shí)間:2023-03-13 07:47:35     稿源: 創(chuàng)意嶺    閱讀: 50        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于nginx訪問ngrok內(nèi)網(wǎng)接口的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。

    ChatGPT國內(nèi)免費(fèi)在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    本文目錄:

    nginx訪問ngrok內(nèi)網(wǎng)接口(nginx怎么訪問)

    一、Nginx轉(zhuǎn)發(fā)+反向代理實(shí)現(xiàn)跨域接口轉(zhuǎn)發(fā)

    最近工作遇上業(yè)務(wù)交接不徹底還有一些亂七八糟原因,導(dǎo)致我需要將幾個(gè)接口的請(qǐng)求轉(zhuǎn)發(fā)到新團(tuán)隊(duì)負(fù)責(zé)的域名下。

    參考文檔:

    https://blog.csdn.net/yeguxin/article/details/94020476

    https://liguangming.com/nginx-return-tips

    https://segmentfault.com/a/1190000018163817

    主要是為了記錄自己工作中解決的一些問題,所以筆記就簡(jiǎn)單一些,涉及到工作的一些具體數(shù)據(jù)就不記錄了

    原域名:soa.api.local

    目標(biāo)域名:newsoa.api.local

    方法名:functionName

    第一版:

    出于偷懶的方式,直接選擇return進(jìn)行跳轉(zhuǎn)

    結(jié)果通過Http請(qǐng)求返回的是字符串

    "http://newsoa.api.local/functionName?body={"id":770080,"bid":9}¶m1=param1¶m2=param2"

    第二版:

    使用rewrite進(jìn)行重定向

    但是有點(diǎn)問題,在瀏覽器中可以看到跳轉(zhuǎn)到新的域名了,但是打開開發(fā)者工具會(huì)看到有兩次請(qǐng)求,第一次是對(duì)原域名soa.api.local的請(qǐng)求,返回的HttpCode為302。第二次請(qǐng)求為重定向后的請(qǐng)求。

    所以如果客戶端跟蹤重定向,那根本就獲取不到第二次請(qǐng)求的數(shù)據(jù)。

    第三版

    使用rewrite和反向代理實(shí)現(xiàn)

    終于達(dá)到我要的效果了,客戶端能保持當(dāng)前鏈接不變的情況下獲取到重定向后的數(shù)據(jù)。

    二、Ngrok有時(shí)很不穩(wěn)定,有什么更好的內(nèi)網(wǎng)穿透方法?

    以下內(nèi)容來自公眾號(hào)逆鋒起筆,關(guān)注每日干貨及時(shí)送達(dá)

    原文:v0w.top/2020/08/11/IntranetProxy

    前言

    本文以滲透的視角,總結(jié)幾種個(gè)人常用的內(nèi)網(wǎng)穿透,內(nèi)網(wǎng)代理工具,介紹其簡(jiǎn)單原理和使用方法。

    1、nps-npc1.1 簡(jiǎn)介

    nps是一款輕量級(jí)、高性能、功能強(qiáng)大的內(nèi)網(wǎng)穿透代理服務(wù)器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問、遠(yuǎn)程桌面,內(nèi)網(wǎng)dns解析等等……),此外還支持內(nèi)網(wǎng)http代理、內(nèi)網(wǎng)socks5代理、p2p等,并帶有功能強(qiáng)大的web管理端。

    • 一臺(tái)有公網(wǎng)IP的服務(wù)器(VPS)運(yùn)行服務(wù)端(NPS)

    • 一個(gè)或多個(gè)運(yùn)行在內(nèi)網(wǎng)的服務(wù)器或者PC運(yùn)行客戶端(NPC)

    • 1.2 特點(diǎn)
    • Go語言編寫

    • 支持跨平臺(tái)

    • 支持多種協(xié)議的代理

    • web管理端

    • 1.3 使用方法
    • https://github.com/ehang-io/nps/releases

      NPS

      安裝配置

      找到自己服務(wù)器相應(yīng)版本的server:

      cd ~

      wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz

      tar xzvf linux_amd64_server.tar.gz

      cd ~/nps

      在nps目錄下面會(huì)有一個(gè)nps可執(zhí)行文件、conf配置目錄和web網(wǎng)頁目錄,我們只需要修改conf/nps.conf即可:

      vim conf/nps.conf

      需要改一下#web下面的幾個(gè)參數(shù),

      web_host= 服務(wù)器IP或者域名

      web_username= admin(登錄用戶名)

      web_password= 你的密碼

      web_port=8080(web管理端口)

      修改#bridge可以更改 NPC的連接端口。比如我們拿到一臺(tái)權(quán)限受限的服務(wù)器,有防火墻,可能只有部分端口(80,443)可以出網(wǎng),就需要修改成出網(wǎng)端口。

      ##bridge

      bridge_type=tcp

      bridge_port=443 # 修改連接端口

      bridge_ip=0.0.0.0

      啟動(dòng)

      #Mac/Linux

      ./nps test|start|stop|restart|status 測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài)

      #Windows

      nps.exe test|start|stop|restart|status 測(cè)試配置文件|啟動(dòng)|停止|重啟|狀態(tài)

      NPC

      ./npc -server=你的IP:8024 -vkey=唯一驗(yàn)證密碼 -type=tcp

      新建好客戶端后,也可以在+中看到,詳細(xì)的客戶端連接命令:

      在客戶端界面可以通過新增的方式添加客戶端連接,每一個(gè)連接的vkey都是唯一區(qū)分的。

      每一個(gè)客戶端,在建立連接后,都可以建立多個(gè)不同協(xié)議的隧道,這一個(gè)個(gè)隧道就是不同的代理了。

      通過不同的協(xié)議和端口就可以連接代理的內(nèi)網(wǎng)機(jī)器。

      2、frp

      2.1 簡(jiǎn)介

    • frp 是一個(gè)專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議。可以將內(nèi)網(wǎng)服務(wù)以安全、便捷的方式通過具有公網(wǎng) IP 節(jié)點(diǎn)的中轉(zhuǎn)暴露到公網(wǎng)。
    • 2.2 特點(diǎn)
    • 客戶端服務(wù)端通信支持 TCP、KCP 以及 Websocket 等多種協(xié)議。

    • 端口復(fù)用,多個(gè)服務(wù)通過同一個(gè)服務(wù)端端口暴露。

    • 跨平臺(tái),但是支持的比nps少一點(diǎn)

    • 多種插件,提供很多功能

    • 2.3 使用方法
    • 下載: https://github.com/fatedier/frp/releases

    • 以下內(nèi)容摘自:https://segmentfault.com/a/11900000218768361. 通過 rdp 訪問家里的機(jī)器
    • 1.修改 frps.ini 文件,為了安全起見,這里最好配置一下身份驗(yàn)證,服務(wù)端和客戶端的 common 配置中的token參數(shù)一致則身份驗(yàn)證通過:

      # frps.ini

      [common]

      bind_port = 7000

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      2.啟動(dòng) frps:

      ./frps -c ./frps.ini

      3.修改 frpc.ini 文件,假設(shè) frps 所在服務(wù)器的公網(wǎng) IP 為 x.x.x.x:

      # frpc.ini

      [common]

      server_addr = x.x.x.x

      server_port = 7000

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      [rdp]

      type = tcp

      local_ip = 127.0.0.1

      local_port = 3389

      remote_port = 6000

      4.啟動(dòng) frpc:

      ./frpc -c ./frpc.ini

      5.通過 rdp 訪問遠(yuǎn)程的機(jī)器,地址為:

      x.x.x.x:6000

      開機(jī)自啟

      針對(duì) Windows 系統(tǒng),為了便于使用,可以配置一下開機(jī)的時(shí)候靜默啟動(dòng)。

      1.在 frpc.exe 的同級(jí)目錄創(chuàng)建一個(gè) start_frpc.vbs:

      'start_frpc.vbs

      '請(qǐng)根據(jù)實(shí)際情況修改路徑

      CreateObject("WScript.Shell").Run """D:Program Filesfrp_windows_amd64frpc.exe""" & "-c" & """D:Program Filesfrp_windows_amd64frpc.ini""",0

      2.復(fù)制 start_frpc.vbs 文件,打開以下目錄,注意將

      改為你的用戶名:

      C:Users\AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

      3.鼠標(biāo)右擊,粘貼為快捷方式即可。

      2. 通過 SSH 訪問公司內(nèi)網(wǎng)機(jī)器

      frps 的部署步驟同上。

      1.啟動(dòng) frpc,配置如下:

      # frpc.ini

      [common]

      server_addr = x.x.x.x

      server_port = 7000

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      [ssh]

      type = tcp

      local_ip = 127.0.0.1

      local_port = 22

      remote_port = 6000

      2.通過 SSH 訪問內(nèi)網(wǎng)機(jī)器,假設(shè)用戶名為 test:

      ssh -oPort=6000 test@x.x.x.x

      3. 通過自定義域名訪問部署于內(nèi)網(wǎng)的 Web 服務(wù)

      1.修改 frps.ini 文件,設(shè)置 http 訪問端口為 8080:

      # frps.ini

      [common]

      bind_port = 7000

      vhost_http_port = 8080

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      2.啟動(dòng) frps:

      ./frps -c ./frps.ini

      3.修改 frpc.ini 文件,假設(shè) frps 所在的服務(wù)器的 IP 為 x.x.x.x,local_port 為本地機(jī)器上 Web 服務(wù)對(duì)應(yīng)的端口, 綁定自定義域名www.yourdomain.com:

      # frpc.ini

      [common]

      server_addr = x.x.x.x

      server_port = 7000

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      [web]

      type = http

      local_port = 80

      custom_domains = www.yourdomain.com

      4.啟動(dòng) frpc:

      ./frpc -c ./frpc.ini

      5 .將www.yourdomain.com的域名 A 記錄解析到 IPx.x.x.x,如果服務(wù)器已經(jīng)有對(duì)應(yīng)的域名,也可以將 CNAME 記錄解析到服務(wù)器原先的域名。

      6.通過瀏覽器訪問http://www.yourdomain.com:8080即可訪問到處于內(nèi)網(wǎng)機(jī)器上的 Web 服務(wù)。

      4. 對(duì)外提供簡(jiǎn)單的文件訪問服務(wù)

      通過static_file插件可以對(duì)外提供一個(gè)簡(jiǎn)單的基于 HTTP 的文件訪問服務(wù)。

      frps 的部署步驟同上。

      1.啟動(dòng) frpc,啟用static_file插件,配置如下:

      # frpc.ini

      [common]

      server_addr = x.x.x.x

      server_port = 7000

      # 用于身份驗(yàn)證,請(qǐng)自行修改,要保證服務(wù)端與客戶端一致

      token = abcdefgh

      [test_static_file]

      type = tcp

      remote_port = 6000

      plugin = static_file

      # 要對(duì)外暴露的文件目錄

      plugin_local_path = /tmp/file

      # 訪問 url 中會(huì)被去除的前綴,保留的內(nèi)容即為要訪問的文件路徑

      plugin_strip_prefix = static

      plugin_http_user = abc

      plugin_http_passwd = abc

      2.通過瀏覽器訪問http://x.x.x.x:6000/static/來查看位于/tmp/file目錄下的文件,會(huì)要求輸入已設(shè)置好的用戶名和密碼。

      常用功能

      統(tǒng)計(jì)面板(Dashboard)

      通過瀏覽器查看 frp 的狀態(tài)以及代理統(tǒng)計(jì)信息展示。

      注:Dashboard 尚未針對(duì)大量的 proxy 數(shù)據(jù)展示做優(yōu)化,如果出現(xiàn) Dashboard 訪問較慢的情況,請(qǐng)不要啟用此功能。

      需要在 frps.ini 中指定 dashboard 服務(wù)使用的端口,即可開啟此功能:

      [common]

      dashboard_port = 7500

      # dashboard 用戶名密碼,默認(rèn)都為 admin

      dashboard_user = admin

      dashboard_pwd = admin

      打開瀏覽器通過http://[server_addr]:7500訪問 dashboard 界面,用戶名密碼默認(rèn)為admin。

      加密與壓縮

      這兩個(gè)功能默認(rèn)是不開啟的,需要在 frpc.ini 中通過配置來為指定的代理啟用加密與壓縮的功能,壓縮算法使用 snappy:

      # frpc.ini

      [ssh]

      type = tcp

      local_port = 22

      remote_port = 6000

      use_encryption = true

      use_compression = true

      如果公司內(nèi)網(wǎng)防火墻對(duì)外網(wǎng)訪問進(jìn)行了流量識(shí)別與屏蔽,例如禁止了 SSH 協(xié)議等,通過設(shè)置use_encryption = true,將 frpc 與 frps 之間的通信內(nèi)容加密傳輸,將會(huì)有效防止流量被攔截。

      如果傳輸?shù)膱?bào)文長度較長,通過設(shè)置use_compression = true對(duì)傳輸內(nèi)容進(jìn)行壓縮,可以有效減小 frpc 與 frps 之間的網(wǎng)絡(luò)流量,加快流量轉(zhuǎn)發(fā)速度,但是會(huì)額外消耗一些 CPU 資源。

      [TLS

      從 v0.25.0 版本開始 frpc 和 frps 之間支持通過 TLS 協(xié)議加密傳輸。通過在frpc.ini的common中配置tls_enable = true來啟用此功能,安全性更高。

      為了端口復(fù)用,frp 建立 TLS 連接的第一個(gè)字節(jié)為 0x17。

      注意:?jiǎn)⒂么斯δ芎蟪?xtcp 外,不需要再設(shè)置 use_encryption。

      代理限速

      目前支持在客戶端的代理配置中設(shè)置代理級(jí)別的限速,限制單個(gè) proxy 可以占用的帶寬。

      # frpc.ini

      [ssh]

      type = tcp

      local_port = 22

      remote_port = 6000

      bandwidth_limit = 1MB

      在代理配置中增加bandwidth_limit字段啟用此功能,目前僅支持MB和KB單位。

      范圍端口映射

      在 frpc 的配置文件中可以指定映射多個(gè)端口,目前只支持 tcp 和 udp 的類型。

      這一功能通過range:段落標(biāo)記來實(shí)現(xiàn),客戶端會(huì)解析這個(gè)標(biāo)記中的配置,將其拆分成多個(gè) proxy,每一個(gè) proxy 以數(shù)字為后綴命名。

      例如要映射本地 6000-6005, 6007 這 6 個(gè)端口,主要配置如下:

      # frpc.ini

      [range:test_tcp]

      type = tcp

      local_ip = 127.0.0.1

      local_port = 6000-6006,6007

      remote_port = 6000-6006,6007

      實(shí)際連接成功后會(huì)創(chuàng)建 8 個(gè) proxy,命名為test_tcp_0, test_tcp_1 ... test_tcp_7。

      3、ew3.1 簡(jiǎn)介

    • EW 是一套便攜式的網(wǎng)絡(luò)穿透工具,具有 SOCKS v5服務(wù)架設(shè)和端口轉(zhuǎn)發(fā)兩大核心功能,可在復(fù)雜網(wǎng)絡(luò)環(huán)境下完成網(wǎng)絡(luò)穿透。但是,現(xiàn)在工具已經(jīng)不更新了。。。
    • 3.2 特點(diǎn)
    • 輕量級(jí),C語言編寫

    • 可以設(shè)置多級(jí)代理

    • 跨平臺(tái)

    • 但是只支持Socks5代理

    • 3.3 使用方法以下使用方法均摘自:http://rootkiter.com/EarthWorm/
    • 以下所有樣例,如無特殊說明代理端口均為1080,服務(wù)均為SOCKSv5代理服務(wù).

      該工具共有 6 種命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。

      1. 正向 SOCKS v5 服務(wù)器

      $ ./ew -s ssocksd -l 1080

      2. 反彈 SOCKS v5 服務(wù)器

      這個(gè)操作具體分兩步:

      a) 先在一臺(tái)具有公網(wǎng) ip 的主機(jī)A上運(yùn)行以下命令:

      $ ./ew -s rcsocks -l 1080 -e 8888

      b) 在目標(biāo)主機(jī)B上啟動(dòng) SOCKS v5 服務(wù) 并反彈到公網(wǎng)主機(jī)的 8888端口

      $ ./ew -s rssocks -d 1.1.1.1 -e 8888

      成功。

      3. 多級(jí)級(jí)聯(lián)

      工具中自帶的三條端口轉(zhuǎn)發(fā)指令, 它們的參數(shù)格式分別為:

      $ ./ew -s lcx_listen -l 1080 -e 8888

      $ ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999

      $ ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999

      通過這些端口轉(zhuǎn)發(fā)指令可以將處于網(wǎng)絡(luò)深層的基于TCP的服務(wù)轉(zhuǎn)發(fā)至根前,比如 SOCKS v5。首先提供兩個(gè)“二級(jí)級(jí)聯(lián)”本地SOCKS測(cè)試樣例:

      a)lcx_tran的用法

      $ ./ew -s ssocksd -l 9999

      $ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999

      b)lcx_listen、lcx_slave的用法

      $ ./ew -s lcx_listen -l 1080 -e 8888

      $ ./ew -s ssocksd -l 9999

      $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999

      再提供一個(gè)“三級(jí)級(jí)聯(lián)”的本地SOCKS測(cè)試用例以供參考

      $ ./ew -s rcsocks -l 1080 -e 8888

      $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999

      $ ./ew -s lcx_listen -l 9999 -e 7777

      $ ./ew -s rssocks -d 127.0.0.1 -e 7777

      數(shù)據(jù)流向:SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

      4、ngrok4.1 簡(jiǎn)介

    • 4.2 特點(diǎn)
    • 官方維護(hù),一般較為穩(wěn)定

    • 跨平臺(tái),閉源

    • 有流量記錄和重發(fā)功能

    • 4.3 使用方法
    • 進(jìn)入ngrok官網(wǎng)(https://ngrok.com/),注冊(cè)ngrok賬號(hào)并下載ngrok;

    • 根據(jù)官網(wǎng)給定的授權(quán)碼,運(yùn)行如下授權(quán)命令;

    • ./ngrok authtoken 1hAotxhmORtzCYvUc3BsxDBPh1H_******************

    • ./ngrok http 80即可將機(jī)器的80端口http服務(wù)暴露到公網(wǎng),并且會(huì)提供一個(gè)公網(wǎng)域名。

    • 可以通過官網(wǎng)的UI界面查看數(shù)據(jù)包和流量等等(但是要付費(fèi)==、)

      還可以通過一些命令將內(nèi)網(wǎng)的文件和其他TCP服務(wù) 暴露到公網(wǎng)中。

      有授權(quán)的設(shè)置文件共享

      ngrok http -auth="user:password" file:///Users/alan/share

      無授權(quán)的設(shè)置文件共享

      ngrok http "file:///C:\Users\alan\Public Folder"

      將主機(jī)的3389的TCP端口暴露到公網(wǎng)

      ngrok tcp 3389

      更多使用方法參考:https://ngrok.com/docs

    • 內(nèi)網(wǎng)滲透之內(nèi)網(wǎng)穿透

    • 開源內(nèi)網(wǎng)穿透工具 frp 簡(jiǎn)單使用教程

    • http://rootkiter.com/EarthWorm/

    三、vue項(xiàng)目nginx必備配置-----API 接口代理

    API 接口代理

    我們一般做vue的項(xiàng)目都會(huì)配置接口代理,比如以 /API 徑開頭的請(qǐng)求都代理到本機(jī)的3000端口

    那么問題來了這里的配置只有在本機(jī)沒打包的時(shí)候才有效的,打包之后/API 徑開頭的請(qǐng)求就不會(huì)代理了,上傳到服務(wù)器后

    如何解決呢?

    辦法來了!??!

    我的后臺(tái)服務(wù)是node的,也部署在同一個(gè)服務(wù)器,開啟的是3000端口

    看如下nginx配置

    好了看上面配置后面的注釋吧,就這樣配置絕逼沒問題

    四、配置nginx后接口時(shí)靈時(shí)不靈

    機(jī)器故障。用戶在使用配置nginx后接口時(shí)靈時(shí)不靈是機(jī)器故障導(dǎo)致的,只需要前往專業(yè)的維修店內(nèi)進(jìn)行維修即可。接口是指同一計(jì)算機(jī)不同功能層之間的通信規(guī)則稱為接口。

    以上就是關(guān)于nginx訪問ngrok內(nèi)網(wǎng)接口相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    newbing安卓版下載(new do安卓版)

    CHAT.FORCHANGE(chat.forchange.cn ChatGPT)

    bing搜索國內(nèi)版官網(wǎng)(bing 搜索 - 國際版)

    網(wǎng)站批量賬號(hào)(網(wǎng)站批量賬號(hào)怎么弄)

    設(shè)計(jì)說明模板200字(設(shè)計(jì)理念簡(jiǎn)短范文100字)