在 Windows 10 中,通过 客户端(frpc) 做内网穿透
1、背景
在开发时,经常会碰到需要用到公网域名的情况,大概可以分成 2 种情况:
一种是想将自己本地开发的成果给别人看下,就需要发布到公网上;
一种是像微信开发这种,要求有公网地址才能够完成调试。
如果只是临时用一下却要买个 VPS 然后在上面布署就很不方便了。使用 frp 做内网穿透就是要解决这2个问题,它可以将本地直接映射到公网,省去了在服务器上布署的麻烦。
2、客户端配置,客户端下载地址(使用最新版本)。https://github.com/fatedier/frp/releases 。选择:frp_0.42.0_windows_amd64.zip 。如图13、下载后,需要信任此文件,杀软会清除其中的文件,需要添加信任。解压至:C:\frp_0.42.0_windows_amd64 。如图24、修改 frpc.ini ,上面是服务器配置,下面是你本机配置,原始配置如下5、修改后的示例如下6、启动frpc:frpc -c frpc.ini。如果是 Windows 用户,需要在 cmd 终端中执行命令。提示拒绝访问。打开 360 杀毒软件,在 360 恢复区中恢复 frp 的相关文件。再次运行,提示:登录服务器失败:授权失败。token = aaa 的值不正确,需要从服务端获取。如图37、修改之后,授权成功。如图48、编辑 Nginx 配置文件,添加 listen 8001; ,8001 为 frpc.ini 中配置的本地服务端口。重新加载配置。如图59、在浏览器打开网址:http://chengdu-wangqiang-x-local.frp.x.top/ ,响应 200。如图6
[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
[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
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
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
server {
listen 8001;
listen 443 ssl;
server_name x.local;
...
}




