我正在制作网站,我想将其对公众和搜索引擎隐藏。
我有vps X
,用于托管此网站。
另一个是vps Y
,它将作为面向公众的界面。vps Y 将nginx
reverse proxying
用作vps X
。
所以我不想让人们知道vps X
。人们不应该通过直接访问来访问网站vps X
。
只有当人们访问连接到的域名时,网站才可见vps Y
。
实现这样的目标的最佳方法是什么?
编辑:到目前为止,我能想到的办法很少。,
到目前为止我能想到这些选择。
1 ) 在 上vps X
,将网站设置在 80 以外的端口上,并从vps Y
到进行反向代理vps X:port other than 80
2)设置cloudflare,vps X,
并只允许来自的连接clouflare
。
-显然 cloudflare 仅适用于端口 80
3)在 上vps X
,使用 密码保护网站basic http authentication
。在 上vps Y
,同时进行反向代理传递username and password
。
4)vpx X
检查是否存在由 设置的特殊 cookie,vps Y
如果cookie
发现则仅授予访问权限。 在发出代理请求时vps Y
将 cookie 设置为。upstream server
答案1
只需对服务器 X 上的 HTTP 端口进行防火墙保护,使其仅接受通过服务器 Y 发出的请求。
你还没有告诉你的操作系统,但如果你能使用 iptables,那么它的两行 -
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP
/sbin/iptables -I INPUT -s SERVER.Y.IP --dport 80 -j ACCEPT