ylgod 发表于 2023-9-5 19:15:01

proxy_protocol怎么用?

你好
请问下proxy_protocol协议怎么用?
网上说nginx从1.13.11版本支持proxy_protocol协议,并且在端口后面加上proxy_protocol 就可以了,但是我在端口后面加上proxy_protocol,网站就打不开了。
这是为什么呢?我装的是lnmp2.0
还是需要安装其他组件吗?


licess 发表于 2023-9-6 20:32:14

listen 80 proxy_protocol; 这样设置,然后 $proxy_protocol_addr 变量就可以获取到真实IP

重启网站打不开肯定nginx报错没启动,既然无法启动报错了肯定就有报错的信息

ylgod 发表于 2023-9-7 01:42:44

licess 发表于 2023-9-6 20:32
listen 80 proxy_protocol; 这样设置,然后 $proxy_protocol_addr 变量就可以获取到真实IP

重启网站打不开 ...

我在80端口后面加上proxy_protocol,然后nginx -s reload,显示以下错误信息:
nginx: protocol options redefined for 0.0.0.0:80 in /usr/local/nginx/conf/vhost/rsshub.iyl.me.conf:3
在443端口后面加上proxy_protocol,然后nginx -s reload,正常,没有返回错误。
但是https的网站打开显示空白页。但是443端口后面不加这个呢,网站就正常了!

我这是frp内网穿透,在frpc的https服务里添加proxy_protocol_version = v2。

搜了很多资料,都没找到问题所在,麻烦您帮忙查下是什么原因?我该怎么做?谢谢谢谢

licess 发表于 2023-9-7 18:39:32

ylgod 发表于 2023-9-7 01:42
我在80端口后面加上proxy_protocol,然后nginx -s reload,显示以下错误信息:
nginx: protocol o ...

warn一般不影响,你看看rsshub提示行是什么内容

这个 proxy_protocol 开了之后所有这个端口下面的网站好像就只接收proxy_protocol协议,所以你那网站也就打不开了

获取真实IP又不是只有这一种方法,可以参考:https://www.vpser.net/manage/linux-vps-nginx-reverse-proxy.html
页: [1]
查看完整版本: proxy_protocol怎么用?