如何根据位置将访问者发送到另一台机器上托管的不同版本的网站

如何根据位置将访问者发送到另一台机器上托管的不同版本的网站

假设我当前的网站在机器 A 上运行。我计划在机器 B 上启动新网站。现在我想让这个新网站只对属于某个特定位置(基于 IP)的用户开放。这将使我们能够在不干扰现有设置的情况下测试新网站,然后再将其开放给所有人。

建议使用哪种设置(服务器/反向代理/IP 数据库等)?这种方法有什么问题吗(除了重定向延迟和可能的 SEO 问题)?

感谢您的帮助。

答案1

好的,如果您想要一个非常简单的解决方案,并且 IP 用户列表很短,只需在机器 A 上使用.htaccessapache即可。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 地址规则将请求路由到不同的地方。

相关内容