默认frp 的tcp穿透80和443是,获得的客户端ip总是127.0.0.1,
编辑frpc配置,
[[proxies]]
name = "web80"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 80
你可能会想到用http/https类型来处理,但这对于泛解析是个麻烦,
继续用tcp来处理,
因为frp新版本不再需要haproxy,自身支持proxy-protocol 代理协议实现透传客户端IP,
编辑frpc配置,新增一行transport.proxyProtocolVersion = "v2",
[[proxies]]
name = "web80"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 80
transport.proxyProtocolVersion = "v2"
配完上面这个步骤,你发现网站打不开了
接下修改nginx的server{}块的内容, 原内容如下,
server
{
listen 80;
listen 443 ssl http2;
server_name blog.quwei.de;
index index.php index.html;
root /www/wwwroot/wordpress;
#以下省略..
改成如下,
server
{
listen 80 proxy_protocol; #透传frp
listen 443 ssl http2 proxy_protocol; #透传frp
server_name blog.quwei.de;
index index.php index.html;
root /www/wwwroot/wordpress;
real_ip_header proxy_protocol; #透传frp
real_ip_recursive on; #透传frp
set_real_ip_from 127.0.0.1; #透传frp
再重新打开网页时,就可以了,ip也成功透传了