Nginx容器总是给出404

时间:2018-02-15 07:07:15

标签: azure docker nginx kubernetes

请查看以下nginx.conf内容,该内容存在于我的天蓝色内容中:

server {
    listen 80 default_server;
    listen 443 ssl default_server;

    ssl_certificate /etc/nginx/secrets/default;
    ssl_certificate_key /etc/nginx/secrets/default;

    server_name _;
    server_tokens "on";
    access_log off;



    location / {
       return 404;
    }
}

include /etc/nginx/conf.d/*.conf;

查看上面的内容我发现我的入口内容存在于conf.d文件夹中。

如果我们看到,位置/出现在我的其他配置之前。这是否意味着它总是因为这个原因而返回404?

1 个答案:

答案 0 :(得分:1)

location设置允许您配置nginx如何响应服务器内资源请求。

  

您可以拥有多个位置指令。

请求:http://example.com/

返回:假设server_name有一个example.com条目,location /指令将确定此请求会发生什么。在您的情况下,它将return 404。由于每个请求都可以映射到location /,因此nginx将始终以404响应。

有关详细信息,请参阅https://linode.com/docs/web-servers/nginx/how-to-configure-nginx/#location-file-and-folder-configuration

这里有你的默认后端conf。默认后端是一个处理所有URL路径的服务。当Ingress Controller无法根据映射规则成功路由请求时,它返回404。

location /出现之前(如出现的顺序)其他配置不是问题。

default-http-backend并非旨在面向外部 - 它仅设计为404,因此Ingress控制器可以为无Pod服务提供普遍/dev/null流量。

请参阅:https://docs.microsoft.com/fi-fi/azure/aks/kubernetes-walkthrough