nginx:配置多个没有子域的vhost

时间:2016-01-17 22:48:57

标签: nginx amazon-ec2

我有一个nginx服务器。我有一个公共IP地址,但我没有任何子域名。我想拆分我的开发和测试服务器。我可以设置这些服务器,即

http://55.22.11.127/devhttp://55.22.11.127/test

我在配置中试过这个:

server_name 55.22.11.127/dev;

没有运气......

那么我是否必须设置一个子域,或者我可以使用trailing url和test来设置它吗?

1 个答案:

答案 0 :(得分:1)

server_name必须是域名或IP地址。

如果只能从笔记本电脑访问devtest,则有一种解决方法。

您可以将仅限笔记本电脑的域名添加到笔记本电脑的/etc/hosts文件中,并将其映射到该服务器名称。就此而言,如果需要,您可以将两个子域放在那里。

55.22.11.127 test.example.com dev.example.com

然后在Nginx中,您可以设置server_name以匹配/ etc / hosts`文件中的值,以及两个域的不同服务器块。

server {
    server_name test.example.com;
    ...
}
server {
    server_name dev.example.com;
    ...
}

要支持多个主机,您的协作者还需要共享相同的/etc/hosts条目,或者您需要使用真实的DNS条目。

此技巧也非常适合在公共互联网上解析之前测试生产DNS值。

对两种情况使用一个server块的最终选项,但使用两个不同的location块来包含两种情况中的每一种的配置。例如,您可以在两个不同的位置设置不同的root指令值。