情况
服务器A是阿里云的,已有正常备案,但是由于阿里云服务器比较贵,我另外买了台腾讯云轻量服务器B
正常情况下,服务器没有备案,无法使用22和443端口,但我服务器B也就是部署个服务,端口使用了其他,使用ip+端口的方式可以正常访问
然后在服务器A使用Nginx反向代理了服务器B的ip地址和端口,这样就可以不暴露服务器B的ip和端口,稍微安全些
本来用的好好的,但是今天突然用户反馈说有些功能似乎有问题
然后就发现了: 目前似乎腾讯云更新了规则,不允许这样做,我拿了个地址进行验证,然后却是跳转到了腾讯云一个页面,提示我需要备案
解决方案
一开始也没有什么头绪,想了会,我觉得他不应该知道我的域名,应该是我Nginx配置把域名信息给带过去了
我猜测是nginx反代有相关域名的信息被腾讯云检测到了,搜索了下AI,给了一个Nginx里隐藏域名的配置方式
于是我把域名信息给隐藏了,完美解决问题哈哈!
下面的参考的配置
原来:
location /mytest/ {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://11.1.1.1:7777/;
}
修改后:
location /mytest/ {
proxy_set_header HOST 8.8.8.8;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://11.1.1.1:7777/;
}
最后有句话不吐不快: SB腾讯云!!
评论区