IE8 を使用して、Apache リバース プロキシ経由でリモート Web サーバーにファイルをアップロードできません。リクエストとレスポンスの追跡には Fiddler を使用しました。約 17KB を超えるサイズの .txt が添付されたフォームを送信すると、次のエラーが表示されます: Proxy Error 502. 同じフォームから同じファイルの小さいバージョンを送信すると機能します。 これは何が原因で、他のブラウザでは発生しないのはなぜですか?
更新 -- フィドラーをCache-Control: no-cache
使用して、Firefox で使用されていないことに気付いた行を削除したところ、機能しました。どのように修正するのかわからないので、疑問は残ります。
失敗時の対応
HTTP/1.1 502 Proxy Error
Date: Tue, 17 Sep 2013 14:16:56 GMT
Server: Apache/2.4.3 (Unix) OpenSSL/1.0.1c
Content-Length: 468
Keep-Alive: timeout=30, max=96
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
The proxy server could not handle the request <em><a href="/this/is/not/the/real/url.ajax">POST /this/is/not/the/real/url.ajax</a></em>.<p>
Reason: <strong>Error reading from remote server</strong></p></p>
</body></html>
失敗したリクエスト ヘッダー
POST https://www.foo.com/blah.ajax HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: https://www.mysite.com/blah.html
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Content-Type: multipart/form-data; boundary=---------------------------7dd2702f50124
Accept-Encoding: gzip, deflate
Host: www.mysite.com
Content-Length: 412501
Connection: Keep-Alive
Cache-Control: no-cache
(cookies and data removed for brevity...)
正常な応答
HTTP/1.1 200 OK
Date: Tue, 17 Sep 2013 15:10:34 GMT
Server: myServer
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 59
Content-Type: text/html; charset=utf-8
Expires: Tue, 17 Sep 2013 16:10:34 GMT
Pragma: no-cache
Keep-Alive: timeout=30, max=100
Connection: Keep-Alive
{
"received":"what I expected"
}
成功したリクエスト ヘッダー
POST https://www.foo.com/blah.ajax HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: https://www.mysite.com/blah.html
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Content-Type: multipart/form-data; boundary=---------------------------7dd983550124
Accept-Encoding: gzip, deflate
Host: www.mysite.com
Content-Length: 1287
Connection: Keep-Alive
Cache-Control: no-cache
(cookies and data removed for brevity...)
更新 2 より明確になり始めています。私の Apache リバース プロキシ サーバーはこのエラーをスローしました。これは、Google に基づいて、プロキシとサーバーの間の接続が時期尚早に閉じられたことを示しているようです。
[Mon Sep 16 17:06:24.983899 2013] [proxy:error] [pid 14796:tid 140093427799808]
[client myipaddress:port] AH00898: Error reading from remote server returned by
/the/requested/page, referer:
https://www.mySite.com