假设我当前的网站在机器 A 上运行。我计划在机器 B 上启动新网站。现在我想让这个新网站只对属于某个特定位置(基于 IP)的用户开放。这将使我们能够在不干扰现有设置的情况下测试新网站,然后再将其开放给所有人。
建议使用哪种设置(服务器/反向代理/IP 数据库等)?这种方法有什么问题吗(除了重定向延迟和可能的 SEO 问题)?
感谢您的帮助。
答案1
好的,如果您想要一个非常简单的解决方案,并且 IP 用户列表很短,只需在机器 A 上使用.htaccess
apache即可。RewriteEngine
例如将其添加到您的.htaccess
:
RewriteCond %{REMOTE_ADDR} ^(192\.168\.0\.12)$ [OR]
RewriteCond %{REMOTE_ADDR} ^(192\.168\.0\.13)$
RewriteRule ^(.*)$ http://other.webserver.com/$1 [P]
如果没有,请检查 apache 的文档mod_proxy。
如果这还不够,你可以使用类似的解决方案漆,nginx 代理,HA代理,但您需要在机器 A 上重新配置 apache 并增加解决方案的复杂性。
答案2
这里不乏选择。几乎我玩过的每个 Web 服务器都能够根据客户端 IP 地址进行检查并采取不同的行动,一旦您拥有该功能,您就可以根据您设置的 IP 地址规则将请求路由到不同的地方。