charles请求转发_用免费开源的frp实现内网穿透,使用nginx转发的方式去掉端口号...
需要用內網穿透技術來實現通過其他公網 IP 來訪問家里的 NAS 設備的需求,frp使用起來更加簡便靈活,以及項目一直開源,所以本文選擇frp作為示例
frp的github地址 :https://github.com/fatedier/frp
frp的下載地址:https://github.com/fatedier/frp/releases
一、服務端部署
1、服務器端下載linux版本,也可以通過命令下載
##下載對應版本的Frpwget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz##解壓tar -xzvf frp_0.21.0_linux_amd64.tar.gz##進入目錄cd frp_0.21.0_linux_amd64##刪除服務端相關的文件rm -rf frpc*2、新建目錄mkdir -p /usr/local/frp,上傳frp_0.xx.0_linux_amd64.tar.gz至linux服務器該目錄下
3、解壓tar -zxvf frp_0.xx.0_linux_amd64.tar.gz
4、進入解壓目錄cd frp_0.xx.0_linux_amd64,這里主要關注4個文件,分別是frpc、frpc.ini和frps、frps.ini,前者兩個文件是客戶端所關注文件,后者兩個文件是服務端所關注兩個文件。
5、配置服務端(公網服務器),首先刪掉frpc、frpc.ini兩個文件,然后再進行配置,vi ./frps.ini,
編輯服務端配置文件frps.ini
[common]dashboard_port = 7500 //Dashboard端口dashboard_user = admin //賬號dashboard_pwd = admin //密碼bind_port = 7000vhost_http_port = 8080server_addr = x.x.x.x //服務器id[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000保存然后啟動服務./frps -c ./frps.ini,這是前臺啟動,后臺啟動命令為nohup ./frps -c ./frps.ini &
運行服務端frp
nohup ./frps -c ./frps.ini > info.log 2>&1 & echo $! > tpid3 查看效果&&隱藏端口號,訪問瀏覽器控制面板
訪問http://nas.example.com:8080
這時候我們使用網址訪問的時候是會帶端口號的。看著很煩。這里使用nginx轉發的方式可以去掉8080。nginx添加conf如下:
##下載對應版本的Frpwget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz##解壓tar -xzvf frp_0.21.0_linux_amd64.tar.gz##進入目錄cd frp_0.21.0_linux_amd64##刪除服務端相關的文件rm -rf frps*二、 客戶端部署(內網服務器),首先刪掉frps、frps.ini兩個文件,然后再進行配置,vi ./frpc.ini
[common]server_addr = x.x.x.x //服務端的IP地址server_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000[nas]type = httplocal_ip = 192.168.0.100 //nas的局域網iplocal_port = 5000custom_domains = nas.example.com編輯客戶端的配置文件frpc.ini
[common]server_addr = x.x.x.x //服務端的IP地址,#公網服務器ipserver_port = 7000 #與服務端bind_port一致[ssh]type = tcp #連接協議local_ip = 192.168.0.100 #內網服務器iplocal_port = 22#ssh默認端口號remote_port = 6000#自定義的訪問內部ssh端口號#公網訪問內部web服務器以http方式[nas]type = http#訪問協議local_ip = 192.168.0.100 //nas的局域網iplocal_port = 5000 custom_domains = www.hao7a.com#所綁定的公網服務器域名,一級、二級域名都可以運行客戶端frp,保存然后執行./frpc -c ./frpc.ini啟動,這是前臺啟動,后臺啟動命令為nohup ./frpc -c ./frpc.ini &
windows下雙擊frpc.exe或者用命令 frpc -c frpc.ini即可啟動客戶端
nohup ./frpc -c ./frpc.ini > info.log 2>&1 & echo $! > tpid有個問題:能像ngrok那樣顯示每個http請的信息嗎?用來做微信端web開發的,需要知道微信服務端和用戶都請求了什么,ngrok就可以通過客戶端的一個本地端口來顯示這些信息,并向內網模擬重新發起請求。
網友給出的解決方案:
覺得這類功能更適合添加一個HTTP代理服務器來實現,比如:
weixin--->frps---->frpc---->http-proxy--->http-source
這樣frpc只要能夠支持http的代理服務即可,而http-proxy你就有N總成熟的方案可以選擇。
filldder, charles, 這兩個可能是用的最多的,這個功能交給專業的 HTTP Proxy 工具好了,沒必要重復造輪子。Python 用 mitmproxy,nodejs 用 anyproxy。
(以上僅僅是筆記,供學習交流)
總結
以上是生活随笔為你收集整理的charles请求转发_用免费开源的frp实现内网穿透,使用nginx转发的方式去掉端口号...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曲线行驶最后什么时候回正_曲线行驶总压线
- 下一篇: react 引入html文件_React