リバースプロキシエラーの解消方法

■リバースプロキシエラーの解消方法

フロントapacheのSSLリバースプロキシサーバーを設定した時に下記のようなプロキシエラーが頻繁に出たので
対処しました。

Client===https===Apache2.2(有償SSL証明書)===https===IIS7.5(自己証明書)

apacheのssl_errorログ
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] (70007)The timeout specified has expired: proxy: error reading status line from remote server 192.168.114.12, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] proxy: Error reading from remote server returned by /images/nav_3.png, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] (70007)The timeout specified has expired: proxy: error reading status line from remote server 192.168.114.12, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] proxy: Error reading from remote server returned by /images/nav_4.png, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] (70007)The timeout specified has expired: proxy: error reading status line from remote server 192.168.114.12, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] proxy: Error reading from remote server returned by /images/nav_foot_1.png, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] (70007)The timeout specified has expired: proxy: error reading status line from remote server 192.168.114.12, referer: https://server-tech.xyz/
[Tue Jun 09 15:34:12 2015] [error] [client 123.456.789.101] proxy: Error reading from remote server returned by /images/nav_foot_5.png, referer: https://server-tech.xyz/

IISのログ
2015-06-09 06:43:23 server-tech-IIS 192.168.114.12 GET / – 443 tech_user 192.168.114.11 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:34.0)+Gecko/20100101+Firefox/34.0 – 192.168.114.12 200 0 0 8693 899 93
2015-06-09 06:43:23 server-tech-IIS 192.168.114.12 GET /js/ers_lib.js – 443 tech_user 192.168.114.11 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:34.0)+Gecko/20100101+Firefox/34.0 https://server-tech.xyz/ 192.168.114.12 304 0 0 277 965 46

対応方法
ssl.confに下記1行を追記
SetEnv proxy-initial-not-pooled 1

proxy-initial-not-pooled
この環境変数をセットすると、クライアントの最初の接続にはプールした 接続を使わなくなります。
これは競合状態を原因とする “proxy: error reading status line from remote server” エラーメッセージを 回避します。
競合状態は、プロキシがプールした接続をチェックした後、 プロキシの送ったデータがバックエンドに到達する前にバックエンドが接続を閉じると発生します。
この変数をセットすることでパフォーマンスが劣化することを知っておくべきです。 特に HTTP/1.0 のクライアントに影響します。

Comments are closed.