我正在尝试使用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;但我无法使其工作
我的配置中缺少什么?
感谢您的帮助。