nginx端口特定子域

时间:2017-06-16 08:31:35

标签: nginx

我有以下工作正常。

server {
    listen 8080;
    server_name sub.example.com;

    location / {
        proxy_pass http://10.0.1.88:8080/;
    }
}

server {
    listen 80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name example.com;
    #server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
}
  1. http://sub.example.com:8080 =预期结果

  2. http://example.com =预期结果

  3. http://example.com:8080 =意外结果=与第一个相同

  4. 第三个显示与我预期失败的第一个完全相同?

    我想要发生的是 -

    一个。重定向回端口80

    OR
    

    湾返回404

    这已经开了几个小时了:(

    感谢帮助。

    由于

1 个答案:

答案 0 :(得分:1)

请参阅this document,但要特别注意默认服务器的概念。

您问题中的两个$date = new \DateTime('2:00PM'); echo date_format($date, 'H:i'); // Output: 14:00 块都是默认服务器。一个隐含,一个明确。在端口8080上收到的任何请求(与主机名无关)将由第一个服务器块处理。同样,对于第二个块和端口80。

如果您要强制执行server指令,则需要使用server_name指令创建一个新的捕获所有 server块,并放置在那里需要采取行动。

例如:

listen 8080 default_server;