我有一个nginx服务器。我有一个公共IP地址,但我没有任何子域名。我想拆分我的开发和测试服务器。我可以设置这些服务器,即
http://55.22.11.127/dev
和http://55.22.11.127/test
我在配置中试过这个:
server_name 55.22.11.127/dev;
没有运气......
那么我是否必须设置一个子域,或者我可以使用trailing url和test来设置它吗?
答案 0 :(得分:1)
server_name
必须是域名或IP地址。
如果只能从笔记本电脑访问dev
或test
,则有一种解决方法。
您可以将仅限笔记本电脑的域名添加到笔记本电脑的/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指令值。