4

502 ProxyError特にPythonサーバーで長時間実行されるリクエストを処理する場合に、リクエスト を受け取る理由を理解しようとしています.

私たちのサーバーは CentOS 上にあり、httpdWeb 要求をプロキシするために使用します。Web 要求は、WSGI REST アプリケーション (ポート 8000 で実行される) を実行する Tornado サーバーにルーティングされます。

一般に、一定の時間を超えないリクエストは成功しますが、リクエストがタイムアウトすると、502 ProxyError完了後に数秒かかり、サーバーが応答しなくなります。この動作は、アプリケーションを開発サーバーにデプロイするときにも見られます。これもhttpd同じように使用されます。

httpd.confVirtualHostの構成は次のとおりです。

<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>

サーバー ログに次のようなエントリも表示されます。

....[error] proxy: HTTP: disabled connection for (server_ip)

この状況の原因は何ですか? ここで使用する必要があるもの (別のライブラリまたは構成) はありますか?

ここで提供した情報が十分かどうかわからないので、他に役立つ情報があればお知らせください。できるだけ早く投稿します。どうもありがとう!

4

1 に答える 1

1

これを試して

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

タイムアウトを最適なものに変更します。

http://httpd.apache.org/docs/current/mod/mod_proxy.htmlの詳細情報

于 2013-02-19T14:38:36.357 に答える