frp报错error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type v1.ServerConfig
1 frp版本使用差别
从2023-10-10的frp_0.52.0版本开始,frp与前面的版本在配置上有较大区别,而且有较多的语法校验。因此,如果非必要不建议使用最新版本。
使用中碰到过的错误:
#错误1:error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type v1.ClientConfig 原因:每个被代理的服务之间需要加入[[proxies]],还有非整型字段的值都需要加""。
#错误2:unmarshal ProxyConfig error: json: unknown field "customDomains" 原因:customDomains是type:http、https、tcpmux里的配置,如果放到其他类型里则会报错。且需要加[],比如:customDomains = ["test2"]
#错误3:[web2] start error: router config conflict 原因:两个type为http服务的customDomains指定的是同一域名或ip导致。
安装包内容 以frp_0.59.0_windows_amd64.zip解压后为例(Windows版本): 共有5个文件:
frpc.exe:frp客户端程序。 frpc.toml:frp客户端配置文件。 frps.exe:frp服务端程序。 frps.toml:frp服务端配置文件。 LICENSE(许可证,略)
https://blog.csdn.net/Mr_XiMu/article/details/140404377
老版本frp
dashboard_addr = "0.0.0.0"
dashboard_port = 689
dashboard_user = "admin"
dashboard_pwd = "admin"
新版本
# 使用TOML格式配置
bindPort = 666
webServer.addr = "0.0.0.0"
webServer.port = 689
webServer.user = "admin"
webServer.password = "admin"
v0.50.0+ 配置格式从INI改为TOML,需要注意配置文件格式变化
新版本可能需要设置 webServer.addr = "0.0.0.0" 来解决连接拒绝问题
nat 绑定端口
本地-ip-外网
666 172.19.1.174 10167
689 172.19.1.174 10367
2323 172.19.1.174 10347
555 172.19.1.174 15555
serverAddr = "公网ip"
serverPort = 10167 服务的映射端口
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 10347 接入的映射端口
如果是nat 那么被控机就不是10347 因为这个会在服务器后端传入 应该是2323 后端监听的是本机的,但是控制机连接的时候,又是外网的10347端口
如果要进行远程办公 (会使用visual studio 等ide), 你推荐使用 普通远程还是rdp 因为是rdp远程链接,所以 怎么实现远端穿透到桌面的rdp端口,并且公司网络直接rdp连接过去