gpt4 book ai didi

python - 使用 Apache 代理对 Tornado 的请求 - 502 错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:40 25 4
gpt4 key购买 nike

试图弄清楚为什么我们的请求会收到 502 ProxyError,尤其是在我们的 Python 服务器上处理长时间运行的请求时。

我们的服务器在 CentOS 上,我们使用 httpd 代理 Web 请求,然后将其路由到运行 WSGI REST 应用程序(在端口 8000 上运行)的 Tornado 服务器。

一般情况下,不超过一定时间的请求都会成功,但是当请求超时时,我们会在请求完成后得到几个502 ProxyError,我们的服务器就会变得无响应。我们在将应用程序部署到开发服务器时也看到了这种行为,开发服务器也以相同的方式使用 httpd

我们的 httpd.conf VirtualHost 的配置是:

<VirtualHost *:80>
ServerName server_ip
ServerAlias server
ServerAdmin admin@server

DocumentRoot /var/www/

ErrorLog /var/www/log/error_log

LogLevel debug

# Reverse proxy
ProxyRequests off
ProxyPass /rest/ http://server_ip:8000/

# Rewrites
<Directory />
Order allow,deny
Allow from all

RewriteEngine On
#RewriteRule /rest/(.*) http://server_ip:8000/$1 [L,QSA]
</Directory>
</VirtualHost>

我也在服务器日志中看到这样的条目:

....[错误] 代理:HTTP:禁用 (server_ip) 的连接

是什么导致了这种情况?我们应该在这里使用其他东西(不同的库或配置)吗?

我不确定我在这里提供的信息是否足够,所以如果还有其他有用的信息,请告诉我,我会尽快发布。非常感谢!

最佳答案

试试这个

ProxyPass/rest/http://server_ip:8000/connectiontimeout=5 timeout=30

将超时更改为最适合您的设置。

有关 http://httpd.apache.org/docs/current/mod/mod_proxy.html 的更多信息

关于python - 使用 Apache 代理对 Tornado 的请求 - 502 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com