在 Windows 10 中,通过 客户端(frpc) 做内网穿透
1、背景
在开发时,经常会碰到需要用到公网域名的情况,大概可以分成 2 种情况:
一种是想将自己本地开发的成果给别人看下,就需要发布到公网上;
一种是像微信开发这种,要求有公网地址才能够完成调试。
如果只是临时用一下却要买个 VPS 然后在上面布署就很不方便了。使用 frp 做内网穿透就是要解决这2个问题,它可以将本地直接映射到公网,省去了在服务器上布署的麻烦。
2、客户端配置,客户端下载地址(使用最新版本)。https://github.com/fatedier/frp/releases 。选择:frp_0.42.0_windows_amd64.zip 。如图1
3、下载后,需要信任此文件,杀软会清除其中的文件,需要添加信任。解压至:C:\frp_0.42.0_windows_amd64 。如图2
4、修改 frpc.ini ,上面是服务器配置,下面是你本机配置,原始配置如下
[common] server_addr = 127.0.0.1 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
5、修改后的示例如下
[common] server_addr = x.x.x.x server_port = 5000 token = aaa [chengdu-wangqiang-x-local] type = http local_ip = 127.0.0.1 local_port= 8001 custom_domains = chengdu-wangqiang-x-local.frp.x.top
6、启动frpc:frpc -c frpc.ini。如果是 Windows 用户,需要在 cmd 终端中执行命令。提示拒绝访问。打开 360 杀毒软件,在 360 恢复区中恢复 frp 的相关文件。再次运行,提示:登录服务器失败:授权失败。token = aaa 的值不正确,需要从服务端获取。如图3
C:\Windows\system32>cd .. C:\Windows>cd .. C:\>cd frp_0.42.0_windows_amd64 C:\frp_0.42.0_windows_amd64>.\frpc -c .\frpc.ini 拒绝访问。 C:\frp_0.42.0_windows_amd64>.\frpc -c .\frpc.ini 2022/05/11 11:42:31 [E] [service.go:340] authorization failed 2022/05/11 11:42:31 [W] [service.go:128] login to server failed: authorization failed authorization failed
7、修改之后,授权成功。如图4
C:\frp_0.42.0_windows_amd64>.\frpc -c .\frpc.ini 2022/05/11 13:38:31 [I] [service.go:349] [9199f80513ab1df9] login to server success, get run id [9199f80513ab1df9], server udp port [0] 2022/05/11 13:38:31 [I] [proxy_manager.go:144] [9199f80513ab1df9] proxy added: [chengdu-wangqiang-object-local] 2022/05/11 13:38:31 [I] [control.go:181] [9199f80513ab1df9] [chengdu-wangqiang-object-local] start proxy success
8、编辑 Nginx 配置文件,添加 listen 8001; ,8001 为 frpc.ini 中配置的本地服务端口。重新加载配置。如图5
server { listen 8001; listen 443 ssl; server_name x.local; ... }
9、在浏览器打开网址:http://chengdu-wangqiang-x-local.frp.x.top/ ,响应 200。如图6
近期评论