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连接过去