具有Nginx和摘要身份验证的CrateDB反向代理

时间:2018-11-09 01:07:45

标签: nginx nginx-reverse-proxy digest-authentication nginx-config cratedb

我正在尝试使用Digest Auth设置CrateDB admin-ui的反向代理,但是在nginx日志中出现以下错误:

[错误] 5936#0:* 6上游过早关闭的连接,同时从上游读取响应头,客户端:161.69.67.20,服务器:,请求:“ POST / api / v1 / namespaces / claumz / services / cratedb / proxy / _sql HTTP / 1.1“,上游:“ http://10.3.0.202:4200/_sql

这是我的Nginx配置:

events {
      worker_connections 768;
}

http {
     include       mime.types;
     default_type  application/octet-stream;

     sendfile        on;
     keepalive_timeout  65;
     access_log /dev/stdout combined;
     error_log /dev/stdout warn;

  server {
    ssl_certificate        /opt/ssl/ca.crt;
    ssl_certificate_key    /opt/ssl/ca.key;
    listen 443 ssl;
    resolver 127.0.0.1 valid=30s;

    location ~ ^/api/v1/namespaces/mynamespace/services/cratedb/proxy(/.*)$ {
          set $endpoint "http://cratedb.mynamespace.svc.skydns.local:4200";
          proxy_pass $endpoint$1$is_args$args;
          proxy_http_version 1.1;
          proxy_set_header Connection "upgrade";
          auth_digest            "admin";
          auth_digest_user_file  /usr/local/nginx/.digestpasswd;
        }
 }
}

我必须在上游端点中使用变量,因为即使目标不可用,我也需要启动nginx。

如果我不使用摘要身份验证,那就可以了。

还尝试使用proxy_read_timeout 300;但我无法使其工作

我的配置中缺少什么?

感谢您的帮助。

0 个答案:

没有答案