nginx 根据主机ip设置不同的root

nginx 根据主机ip设置不同的root

有谁知道根据远程主机的 IP 使用不同服务器根的方法吗?此方法失败,并显示“此处不允许根”消息:

if ($remote_addr = myip) {
    root /some/other/root
}

目标:将测试目录中的文件提供给我的静态 IP 以进行开发。

不幸的是,我正在将网站迁移到 wordpress,因此需要设置正确的端口/主机名,否则我只需设置一个位置 /mytestdir {} 块或单独的服务器块,其中包含用于测试的端口。Wordpress 很烦人,因为如果您将其设置在 mydomain.com:1234,当您将其移动到 mydomain.com(没有端口)时,修复起来会很麻烦。

我可以在本地网络上将开发服务器设置为 mydomain.com,但我很想知道如何在同一台服务器上的 nginx 中执行此操作。

答案1

这个问题已经在其他地方得到回答了。似乎有两种策略:

  1. 使用 nginx geo 模块。 Nginx - 如何将特定 IP 的用户重定向到特殊页面

  2. 使用变量作为根目录。 根据客户端ip获取Nginx文档根目录?

相关内容