最近研究两天没弄成功,由于我的公网ip来自于云服务器(国内的),所以单纯在fnos中安装lucky行不通。
我分别在云服务器中试了nginx和lucky的反代,另外用frp穿透到内网的fnos。
先说一下结论,如果直接通过公网ip访问,反代是可以成功的。但只要用域名访问,就会出现下面情形。


关于websocket问题我参考了(点击下面数字跳转)
10571,9875
nginx关键配置:
location / {
proxy_pass http://127.0.0.1:5666/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
# 开启webSocket支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
lucky也配过

当我使用公网ip反代时,这些配置确实生效了,webSocket也正常。
但域名就不行,我试了两个域名,一个是国外平台申请,并在cloudflare解析到云服务器ip;另一个域名是腾讯云域名,并在腾讯云上解析到云服务器ip。分别对应国外和国内两种情况。皆反代失败,webSocket问题,如上所示。
因为我用的NAT云服务器,公网端口有限,所以反代就是解决办法,我又着实不想每次都输ip:port,还是域名子域名好记。请大家给点建议吧。