-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
一臺有公網(wǎng)IP的服務器(VPS)運行服務端(NPS)
一個或多個運行在內(nèi)網(wǎng)的服務器或者PC運行客戶端(NPC)
- 1.2 特點
Go語言編寫
支持跨平臺
支持多種協(xié)議的代理
web管理端
- 1.3 使用方法
- frp 是一個專注于內(nèi)網(wǎng)穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議。可以將內(nèi)網(wǎng)服務以安全、便捷的方式通過具有公網(wǎng) IP 節(jié)點的中轉(zhuǎn)暴露到公網(wǎng)。
- 2.2 特點
客戶端服務端通信支持 TCP、KCP 以及 Websocket 等多種協(xié)議。
端口復用,多個服務通過同一個服務端端口暴露。
跨平臺,但是支持的比nps少一點
多種插件,提供很多功能
- 2.3 使用方法
- 以下內(nèi)容摘自:https://segmentfault.com/a/11900000218768361. 通過 rdp 訪問家里的機器
- EW 是一套便攜式的網(wǎng)絡穿透工具,具有 SOCKS v5服務架設和端口轉(zhuǎn)發(fā)兩大核心功能,可在復雜網(wǎng)絡環(huán)境下完成網(wǎng)絡穿透。但是,現(xiàn)在工具已經(jīng)不更新了。。。
- 3.2 特點
輕量級,C語言編寫
可以設置多級代理
跨平臺
但是只支持Socks5代理
- 3.3 使用方法以下使用方法均摘自:http://rootkiter.com/EarthWorm/
- 4.2 特點
官方維護,一般較為穩(wěn)定
跨平臺,閉源
有流量記錄和重發(fā)功能
- 4.3 使用方法
進入ngrok官網(wǎng)(https://ngrok.com/),注冊ngrok賬號并下載ngrok;
根據(jù)官網(wǎng)給定的授權碼,運行如下授權命令;
./ngrok authtoken 1hAotxhmORtzCYvUc3BsxDBPh1H_******************
./ngrok http 80即可將機器的80端口http服務暴露到公網(wǎng),并且會提供一個公網(wǎng)域名。
內(nèi)網(wǎng)滲透之內(nèi)網(wǎng)穿透
開源內(nèi)網(wǎng)穿透工具 frp 簡單使用教程
http://rootkiter.com/EarthWorm/
nginx訪問ngrok內(nèi)網(wǎng)接口(nginx怎么訪問)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于nginx訪問ngrok內(nèi)網(wǎng)接口的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、Nginx轉(zhuǎn)發(fā)+反向代理實現(xiàn)跨域接口轉(zhuǎn)發(fā)
最近工作遇上業(yè)務交接不徹底還有一些亂七八糟原因,導致我需要將幾個接口的請求轉(zhuǎn)發(fā)到新團隊負責的域名下。
參考文檔:
https://blog.csdn.net/yeguxin/article/details/94020476
https://liguangming.com/nginx-return-tips
https://segmentfault.com/a/1190000018163817
主要是為了記錄自己工作中解決的一些問題,所以筆記就簡單一些,涉及到工作的一些具體數(shù)據(jù)就不記錄了
原域名:soa.api.local
目標域名:newsoa.api.local
方法名:functionName
第一版:
出于偷懶的方式,直接選擇return進行跳轉(zhuǎn)
結果通過Http請求返回的是字符串
"http://newsoa.api.local/functionName?body={"id":770080,"bid":9}¶m1=param1¶m2=param2"
第二版:
使用rewrite進行重定向
但是有點問題,在瀏覽器中可以看到跳轉(zhuǎn)到新的域名了,但是打開開發(fā)者工具會看到有兩次請求,第一次是對原域名soa.api.local的請求,返回的HttpCode為302。第二次請求為重定向后的請求。
所以如果客戶端跟蹤重定向,那根本就獲取不到第二次請求的數(shù)據(jù)。
第三版
使用rewrite和反向代理實現(xiàn)
終于達到我要的效果了,客戶端能保持當前鏈接不變的情況下獲取到重定向后的數(shù)據(jù)。
二、Ngrok有時很不穩(wěn)定,有什么更好的內(nèi)網(wǎng)穿透方法?
以下內(nèi)容來自公眾號逆鋒起筆,關注每日干貨及時送達
原文:v0w.top/2020/08/11/IntranetProxy
前言
本文以滲透的視角,總結幾種個人常用的內(nèi)網(wǎng)穿透,內(nèi)網(wǎng)代理工具,介紹其簡單原理和使用方法。
1、nps-npc1.1 簡介
nps是一款輕量級、高性能、功能強大的內(nèi)網(wǎng)穿透代理服務器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問、遠程桌面,內(nèi)網(wǎng)dns解析等等……),此外還支持內(nèi)網(wǎng)http代理、內(nèi)網(wǎng)socks5代理、p2p等,并帶有功能強大的web管理端。
https://github.com/ehang-io/nps/releases
NPS
安裝配置
找到自己服務器相應版本的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目錄下面會有一個nps可執(zhí)行文件、conf配置目錄和web網(wǎng)頁目錄,我們只需要修改conf/nps.conf即可:
vim conf/nps.conf
需要改一下#web下面的幾個參數(shù),
web_host= 服務器IP或者域名
web_username= admin(登錄用戶名)
web_password= 你的密碼
web_port=8080(web管理端口)
修改#bridge可以更改 NPC的連接端口。比如我們拿到一臺權限受限的服務器,有防火墻,可能只有部分端口(80,443)可以出網(wǎng),就需要修改成出網(wǎng)端口。
##bridge
bridge_type=tcp
bridge_port=443 # 修改連接端口
bridge_ip=0.0.0.0
啟動
#Mac/Linux
./nps test|start|stop|restart|status 測試配置文件|啟動|停止|重啟|狀態(tài)
#Windows
nps.exe test|start|stop|restart|status 測試配置文件|啟動|停止|重啟|狀態(tài)
NPC
./npc -server=你的IP:8024 -vkey=唯一驗證密碼 -type=tcp
新建好客戶端后,也可以在+中看到,詳細的客戶端連接命令:
在客戶端界面可以通過新增的方式添加客戶端連接,每一個連接的vkey都是唯一區(qū)分的。
每一個客戶端,在建立連接后,都可以建立多個不同協(xié)議的隧道,這一個個隧道就是不同的代理了。
通過不同的協(xié)議和端口就可以連接代理的內(nèi)網(wǎng)機器。
2、frp
2.1 簡介
下載: https://github.com/fatedier/frp/releases
1.修改 frps.ini 文件,為了安全起見,這里最好配置一下身份驗證,服務端和客戶端的 common 配置中的token參數(shù)一致則身份驗證通過:
# frps.ini
[common]
bind_port = 7000
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
2.啟動 frps:
./frps -c ./frps.ini
3.修改 frpc.ini 文件,假設 frps 所在服務器的公網(wǎng) IP 為 x.x.x.x:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000
4.啟動 frpc:
./frpc -c ./frpc.ini
5.通過 rdp 訪問遠程的機器,地址為:
x.x.x.x:6000
開機自啟
針對 Windows 系統(tǒng),為了便于使用,可以配置一下開機的時候靜默啟動。
1.在 frpc.exe 的同級目錄創(chuàng)建一個 start_frpc.vbs:
'start_frpc.vbs
'請根據(jù)實際情況修改路徑
CreateObject("WScript.Shell").Run """D:Program Filesfrp_windows_amd64frpc.exe""" & "-c" & """D:Program Filesfrp_windows_amd64frpc.ini""",0
2.復制 start_frpc.vbs 文件,打開以下目錄,注意將
改為你的用戶名:
C:Users\AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
3.鼠標右擊,粘貼為快捷方式即可。
2. 通過 SSH 訪問公司內(nèi)網(wǎng)機器
frps 的部署步驟同上。
1.啟動 frpc,配置如下:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
2.通過 SSH 訪問內(nèi)網(wǎng)機器,假設用戶名為 test:
ssh -oPort=6000 test@x.x.x.x
3. 通過自定義域名訪問部署于內(nèi)網(wǎng)的 Web 服務
1.修改 frps.ini 文件,設置 http 訪問端口為 8080:
# frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
2.啟動 frps:
./frps -c ./frps.ini
3.修改 frpc.ini 文件,假設 frps 所在的服務器的 IP 為 x.x.x.x,local_port 為本地機器上 Web 服務對應的端口, 綁定自定義域名www.yourdomain.com:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com
4.啟動 frpc:
./frpc -c ./frpc.ini
5 .將www.yourdomain.com的域名 A 記錄解析到 IPx.x.x.x,如果服務器已經(jīng)有對應的域名,也可以將 CNAME 記錄解析到服務器原先的域名。
6.通過瀏覽器訪問http://www.yourdomain.com:8080即可訪問到處于內(nèi)網(wǎng)機器上的 Web 服務。
4. 對外提供簡單的文件訪問服務
通過static_file插件可以對外提供一個簡單的基于 HTTP 的文件訪問服務。
frps 的部署步驟同上。
1.啟動 frpc,啟用static_file插件,配置如下:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份驗證,請自行修改,要保證服務端與客戶端一致
token = abcdefgh
[test_static_file]
type = tcp
remote_port = 6000
plugin = static_file
# 要對外暴露的文件目錄
plugin_local_path = /tmp/file
# 訪問 url 中會被去除的前綴,保留的內(nèi)容即為要訪問的文件路徑
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc
2.通過瀏覽器訪問http://x.x.x.x:6000/static/來查看位于/tmp/file目錄下的文件,會要求輸入已設置好的用戶名和密碼。
常用功能
統(tǒng)計面板(Dashboard)
通過瀏覽器查看 frp 的狀態(tài)以及代理統(tǒng)計信息展示。
注:Dashboard 尚未針對大量的 proxy 數(shù)據(jù)展示做優(yōu)化,如果出現(xiàn) Dashboard 訪問較慢的情況,請不要啟用此功能。
需要在 frps.ini 中指定 dashboard 服務使用的端口,即可開啟此功能:
[common]
dashboard_port = 7500
# dashboard 用戶名密碼,默認都為 admin
dashboard_user = admin
dashboard_pwd = admin
打開瀏覽器通過http://[server_addr]:7500訪問 dashboard 界面,用戶名密碼默認為admin。
加密與壓縮
這兩個功能默認是不開啟的,需要在 frpc.ini 中通過配置來為指定的代理啟用加密與壓縮的功能,壓縮算法使用 snappy:
# frpc.ini
[ssh]
type = tcp
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true
如果公司內(nèi)網(wǎng)防火墻對外網(wǎng)訪問進行了流量識別與屏蔽,例如禁止了 SSH 協(xié)議等,通過設置use_encryption = true,將 frpc 與 frps 之間的通信內(nèi)容加密傳輸,將會有效防止流量被攔截。
如果傳輸?shù)膱笪拈L度較長,通過設置use_compression = true對傳輸內(nèi)容進行壓縮,可以有效減小 frpc 與 frps 之間的網(wǎng)絡流量,加快流量轉(zhuǎn)發(fā)速度,但是會額外消耗一些 CPU 資源。
[TLS
從 v0.25.0 版本開始 frpc 和 frps 之間支持通過 TLS 協(xié)議加密傳輸。通過在frpc.ini的common中配置tls_enable = true來啟用此功能,安全性更高。
為了端口復用,frp 建立 TLS 連接的第一個字節(jié)為 0x17。
注意:啟用此功能后除 xtcp 外,不需要再設置 use_encryption。
代理限速
目前支持在客戶端的代理配置中設置代理級別的限速,限制單個 proxy 可以占用的帶寬。
# frpc.ini
[ssh]
type = tcp
local_port = 22
remote_port = 6000
bandwidth_limit = 1MB
在代理配置中增加bandwidth_limit字段啟用此功能,目前僅支持MB和KB單位。
范圍端口映射
在 frpc 的配置文件中可以指定映射多個端口,目前只支持 tcp 和 udp 的類型。
這一功能通過range:段落標記來實現(xiàn),客戶端會解析這個標記中的配置,將其拆分成多個 proxy,每一個 proxy 以數(shù)字為后綴命名。
例如要映射本地 6000-6005, 6007 這 6 個端口,主要配置如下:
# frpc.ini
[range:test_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 6000-6006,6007
remote_port = 6000-6006,6007
實際連接成功后會創(chuàng)建 8 個 proxy,命名為test_tcp_0, test_tcp_1 ... test_tcp_7。
3、ew3.1 簡介
以下所有樣例,如無特殊說明代理端口均為1080,服務均為SOCKSv5代理服務.
該工具共有 6 種命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。
1. 正向 SOCKS v5 服務器
$ ./ew -s ssocksd -l 1080
2. 反彈 SOCKS v5 服務器
這個操作具體分兩步:
a) 先在一臺具有公網(wǎng) ip 的主機A上運行以下命令:
$ ./ew -s rcsocks -l 1080 -e 8888
b) 在目標主機B上啟動 SOCKS v5 服務 并反彈到公網(wǎng)主機的 8888端口
$ ./ew -s rssocks -d 1.1.1.1 -e 8888
成功。
3. 多級級聯(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)絡深層的基于TCP的服務轉(zhuǎn)發(fā)至根前,比如 SOCKS v5。首先提供兩個“二級級聯(lián)”本地SOCKS測試樣例:
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
再提供一個“三級級聯(lián)”的本地SOCKS測試用例以供參考
$ ./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 簡介
可以通過官網(wǎng)的UI界面查看數(shù)據(jù)包和流量等等(但是要付費==、)
還可以通過一些命令將內(nèi)網(wǎng)的文件和其他TCP服務 暴露到公網(wǎng)中。
有授權的設置文件共享
ngrok http -auth="user:password" file:///Users/alan/share
無授權的設置文件共享
ngrok http "file:///C:\Users\alan\Public Folder"
將主機的3389的TCP端口暴露到公網(wǎng)
ngrok tcp 3389
更多使用方法參考:https://ngrok.com/docs
三、vue項目nginx必備配置-----API 接口代理
API 接口代理
我們一般做vue的項目都會配置接口代理,比如以 /API 徑開頭的請求都代理到本機的3000端口
那么問題來了這里的配置只有在本機沒打包的時候才有效的,打包之后/API 徑開頭的請求就不會代理了,上傳到服務器后
如何解決呢?
辦法來了?。。?
我的后臺服務是node的,也部署在同一個服務器,開啟的是3000端口
看如下nginx配置
好了看上面配置后面的注釋吧,就這樣配置絕逼沒問題
四、配置nginx后接口時靈時不靈
機器故障。用戶在使用配置nginx后接口時靈時不靈是機器故障導致的,只需要前往專業(yè)的維修店內(nèi)進行維修即可。接口是指同一計算機不同功能層之間的通信規(guī)則稱為接口。
以上就是關于nginx訪問ngrok內(nèi)網(wǎng)接口相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
CHAT.FORCHANGE(chat.forchange.cn ChatGPT)
bing搜索國內(nèi)版官網(wǎng)(bing 搜索 - 國際版)