Обратный прокси CrateDB с Nginx и Digest Auth - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь настроить обратный прокси-сервер CrateDB admin-ui с Digest Auth, но я получаю следующие ошибки в логах 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; но я не могу заставить его работать

Чего мне не хватает в моей конфигурации?

Спасибо за помощь.

...