加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 用Apache代码向Tornado提出请求 – 502错误

发布时间:2020-12-20 13:33:09 所属栏目:Python 来源:网络整理
导读:试图弄清楚为什么我们的请求会得到502 ProxyError,特别是在我们的 Python服务器上提供长时间运行的请求时. 我们的服务器在CentOS上,我们使用httpd代理Web请求,然后将其路由到运行WSGI REST应用程序(在端口8000上运行)的Tornado服务器. 通常,不超过一定时间的
试图弄清楚为什么我们的请求会得到502 ProxyError,特别是在我们的 Python服务器上提供长时间运行的请求时.

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

通常,不超过一定时间的请求会成功,但是当请求超时时,我们会在完成后获得多个502 ProxyErrors,并且我们的服务器无响应.我们在将应用程序部署到开发服务器时也看到了这种行为,开发服务器也以相同的方式使用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的更多信息

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读