代码之家  ›  专栏  ›  技术社区  ›  Trần Kim Dá»±

Nginx:avoid Nginx:[warn]0.0.0:80上有冲突的服务器名“index”,忽略

  •  0
  • Trần Kim Dá»±  · 技术社区  · 8 年前

    server {
       root /var/www/example/build;
       server_name example.com www.example.com
       index index.html index.htm;
       location / {
          try_files $uri $uri/ /index.html;
       }
    
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    
    
    }
    server {
        if ($host = www.example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
        if ($host = example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
       listen 80 default_server;
       server_name example.com www.example.com
       index index.html index.htm;
        return 404; # managed by Certbot
    }
    

    当我运行以下命令时: sudo nginx -t 用于检查nginx语法。我遇到这个警告:

    nginx: [warn] conflicting server name "index" on 0.0.0.0:443, ignored
    nginx: [warn] conflicting server name "index.html" on 0.0.0.0:443, ignored
    nginx: [warn] conflicting server name "index.htm" on 0.0.0.0:443, ignored
    nginx: [warn] conflicting server name "index" on 0.0.0.0:80, ignored
    nginx: [warn] conflicting server name "index.html" on 0.0.0.0:80, ignored
    nginx: [warn] conflicting server name "index.htm" on 0.0.0.0:80, ignored
    

    我已经测试过了,发现那些警告并不是问题所在。(因为我监听多个文件上的同一端口)。但我不知道我是否删除了其中一个文件中的侦听端口,有什么问题吗?还有没有其他方法可以禁用此警告。

    1 回复  |  直到 8 年前
        1
  •  3
  •   zessx    8 年前

    你忘了加一个 ; 在你的最后 server_name :

    server_name example.com www.example.com
    index index.html index.htm;
    

    Nginx将使用 index index.html 和 index.html索引 作为备用服务器名称。