Amazon ec2 Apache2服务器和超集,502代理错误,加载仪表板时从远程服务器读取错误 简短介绍
我的Apache超集和Apache2服务器位于同一个EC2实例上。Apache2充当代理服务器。它接受HTTPS请求并将它们传输到Apache超集。Apache超集是使用Amazon ec2 Apache2服务器和超集,502代理错误,加载仪表板时从远程服务器读取错误 简短介绍,amazon-ec2,proxy,apache2,apache-superset,dremio,Amazon Ec2,Proxy,Apache2,Apache Superset,Dremio,我的Apache超集和Apache2服务器位于同一个EC2实例上。Apache2充当代理服务器。它接受HTTPS请求并将它们传输到Apache超集。Apache超集是使用gunicorn运行的 问题 对ApacheDremio数据引擎的请求可能需要一些时间(启用代理\u修复,superset\u web服务器\u超时 此外,使用nginx构建了类似的代理设置,错误与此处描述的类似 任何帮助或想法都将不胜感激。多谢各位 有用信息 Apache超集版本:0.37.2 ApacheDremio版本:4
gunicorn
运行的
问题
对ApacheDremio数据引擎的请求可能需要一些时间(<60秒)。访问超集上的仪表板时,使用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
的默认值相当高,但这些错误可能在几秒钟内出现
如果通过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: ...
试图解决一个问题的是什么
问题可能是代理服务器超时或超集web服务器断开某些连接。我的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>
代理主机
代理请求关闭
ServerName dash.domain.com
ServerAlias dash.domain.com
斯伦金安
SSLCertificateFile/etc/ssl/private/cert.crt
SSLCertificateChainFile/etc/ssl/certs/cert2.crt
SSLCertificateKeyFile/etc/ssl/private/key.key
ProxyPass/http://localhost:8088/ connectiontimeout=3600超时=3600
ProxyPassReverse/http://localhost:8088/
#尝试过的事情
#SetEnv force-proxy-request-1.0 1
#SetEnv代理nokeepalive 1
#SetEnv代理初始值未合并为1
#代理超时3600
#超时3600
经过测试(但不起作用):
超时
和代理超时
连接超时
和超时
(如上所示)Keepalive=On
用于ProxyPasssuperset\u config.py
->启用代理\u修复,superset\u web服务器\u超时nginx
构建了类似的代理设置,错误与此处描述的类似
任何帮助或想法都将不胜感激。多谢各位
有用信息
Apache超集版本:0.37.2
ApacheDremio版本:4.1.0
Apache2服务器版本:2.4.29
EC2实例类型:t3.medium
操作系统版本:Ubuntu18.04问题出在gunicorn异步工作程序中。来自图表的请求太多,工人无法处理。将工作类型从异步更改为同步(默认gunicorn类型)解决了代理问题 我仍然不知道为什么IP直接访问没有产生502代理错误 很抱歉,问题中没有包含有关gunicorn的信息
p.S.从他们的文档中建议Apache Superset的工作类型是异步,但对于我来说,同步是更好的解决方案。理论上,同步工作程序比异步工作程序慢(在超集上下文中)。您的DNS设置是什么?DNS工作正常。我不知道你所说的“DNS设置”是什么意思。“如果通过IP地址访问超集,则不会出现问题。”考虑到Nginx也会出现同样的问题,DNS可能无法正常工作。但我仍然可以访问仪表板,并且它们部分工作。当通过IP地址访问时,我不使用Apache代理,而是直接使用超集。