Краткое введение
У меня есть сервер Apache Superset и Apache2, расположенный на одном экземпляре EC2. Apache2 действует как прокси-сервер. Он принимает запросы HTTPS и передает их в Apache Superset. Apache Superset запускается с использованием gunicorn
.
Проблема
Запросы к механизму данных Apache Dremio могли занять некоторое время (‹60 секунд). При доступе к панелям мониторинга в Superset, используя DNS-имя с SSL, с настройкой прокси-сервера некоторые части (запросы) панелей управления не работают со следующей ошибкой:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server
Как ни странно, эти ошибки могут появиться в считанные секунды, несмотря на то, что значение по умолчанию для ProxyTimeout
довольно велико.
Проблема не возникает, если доступ к Superset осуществляется по IP-адресу.
Сообщение об ошибке в apache2/error.log
:
(20014) Internal error (specific information not available): [client 10.4.26.3:6969] AH01102: error reading status line from remote server localhost:8088, referer: ...
Что пытались решить проблему
Проблема может заключаться в тайм-ауте прокси-сервера или в том, что веб-сервер Superset разрывает некоторые соединения. Моя конфигурация Apache2:
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName dash.domain.com
ServerAlias dash.domain.com
SSLEngine on
SSLCertificateFile /etc/ssl/private/cert.crt
SSLCertificateChainFile /etc/ssl/certs/cert2.crt
SSLCertificateKeyFile /etc/ssl/private/key.key
ProxyPass / http://localhost:8088/ connectiontimeout=3600 timeout=3600
ProxyPassReverse / http://localhost:8088/
# things tried
# SetEnv force-proxy-request-1.0 1
# SetEnv proxy-nokeepalive 1
# SetEnv proxy-initial-not-pooled 1
# ProxyTimeout 3600
# TimeOut 3600
</VirtualHost>
Вещи проверены (и не работают):
Timeout
иProxyTimeout
connectiontimeout
иtimeout
(как показано выше)Keepalive=On
для ProxyPass- другой SetEnv
superset_config.py
- ›ENABLE_PROXY_FIX, SUPERSET_WEBSERVER_TIMEOUT
Кроме того, аналогичная настройка прокси была построена с использованием nginx
, ошибка аналогична описанной здесь.
Любая помощь или идеи будут оценены. Большое спасибо!
Полезная информация
Версия Apache Superset: 0.37.2
Версия Apache Dremio: 4.1.0
Версия сервера Apache2: 2.4.29
Тип экземпляра EC2: t3.medium
Версия ОС: Ubuntu 18.04