首页 > 解决方案 > 服务器端事件不起作用 Kubernetes 入口控制器并出错

问题描述

我们有一个 API,它将创建一个集群并等待状态,直到它在数据库中创建并执行查询。

我们通过Ingress进行了尝试,但正在超时。

我们在入口规则中设置如下:

nginx.ingress.kubernetes.io/configuration-snippet: |
    location / {
        proxy_set_header Connection "";
        proxy_http_version 1.1;
    }

错误:

nginx.ingress.kubernetes.io/proxy-read-timeout:“600”

如果我们设置它,它会在/data路径下创建,这是我们的主要 API 路径,并且它没有按预期工作。

是否有任何直接注释来使用服务器端事件?

如果我们在入口规则中使用上面的代码片段并在控制器日志中得到这个错误。

以下错误错误:

exit status 1
2020/06/26 04:57:22 [emerg] 132#132: location "/" is outside location "/data/" in /tmp/nginx-cfg140739857:11409
nginx: [emerg] location "/" is outside location "/data/" in /tmp/nginx-cfg140739857:11409
nginx: configuration file /tmp/nginx-cfg140739857 test failed.

标签: nginxkubernetes-ingress

解决方案


正如文档所建议的那样,您永远不应该使用它/来托管您的数据。它应该在/data/*.

任何文件系统中的某些目录都不应该用于托管数据。这些包括/root。您永远不应该将它们用作您的文档根目录。这样做会使您对返回私人数据的预期区域之外的请求持开放态度。

永远不要这样做!

server {
    root /;

    location / {
       
    }
}

推荐阅读