|  |      1kkk9      2023-09-12 12:14:46 +08:00 服务端和客户端之间通信是走 server 端口,你反代的是 vhost( http) | 
|  |      2kkk9      2023-09-12 12:16:29 +08:00 [common] 部分的配置才是负责 C/S 通信的,具体可以看官方文档 - 身份认证 https://gofrp.org/docs/features/common/authentication/ 其实设置好 token 就行了。 | 
|  |      4mikaelson      2023-09-12 12:24:28 +08:00 我直接就 token+端口,完了。。。 | 
|  |      5ysc3839      2023-09-12 12:39:23 +08:00 via Android 我个人选择用 WireGuard ,frp 那个协议很难说是否真的安全。 | 
|      7gogogo2000      2023-09-12 14:27:46 +08:00 想要让 frp 本身的控制协议走 ssl ,只需要设置 tls_enable 即可。 https://gofrp.org/docs/features/common/network/network-tls/ | 
|      8gogogo2000      2023-09-12 14:29:11 +08:00 似乎应该是 tls_only ,文档中有些摇摆 | 
|      9abonan      2023-09-12 16:41:15 +08:00  1 不用配 vhost 、http 之类的。首先自签一个 CA 证书,再用这个 CA 证书签发一个证书,该证书要配上 subjectAltName=IP:0.0.0.0 (服务端 IP )。 服务端配置 common 块放上刚刚签的证书和私钥,客户端配置 common 块开启 tls_enable ,开启 CA 信任,信任刚开始的自签 CA 证书,这样就保证 tls 传输是安全的,只有该 CA 签发的证书是可信的,防止中间人攻击,当然可以双向开启 CA 验证,可以看文档。然后客户端直接 type=tcp 转发 http 端口就行了 | 
|  |      10yaott2020      2023-09-12 16:46:43 +08:00 via Android 同楼上,搞个 TLS 双向认证,谁也看不到 | 
|  |      11nmap      2023-09-12 19:12:32 +08:00 双向认证开启,其他随意 | 
|      12lovelylain      2023-09-12 20:12:29 +08:00 via Android 自签名证书,双向认证 tls_enable = true tls_cert_file = ../cert/client.crt tls_key_file = ../cert/client.key tls_trusted_ca_file = ../cert/ca.crt 服务端同理且设置 tls_only = true | 
|      13Rebron1900      243 天前 | 
|      14abonan      226 天前 @Rebron1900 应该是 frp 通信的时候是直接用 IP 而不是用域名连接,没有域名的 SNI 自然就报错无法识别了。用自签 IP 证书就可以了,签一个 10 年的,只要客户端只信任自签的 CA 证书就不存在中间人劫持了 |