1

これは奇妙なものです。私たちは最近、print_r の後に 302 リダイレクト ヘッダーを投稿するコードで 3 か月前のバグを発見しました。その結果、ブラウザは文字列を受け取り、次のページにリダイレクトしません。

この print_r は非常に長い間本番環境にありましたが、誰も言及していなかったため、本番環境と開発環境の構成の違いであると考えられました。最新の変更は IPtables への変更であり、変更を元に戻したところ、問題が修正されたようです。

奇妙なことに、私たち自身の啓蒙のために問題を再現することはできません。IPtables は 302 リダイレクトに影響を与えることさえありますか? ましてや、ヘッダーの前にデータが送信されたかどうかは気にしませんか? 私の調査によると、いいえ、しかし私は最初にすべてを知っている人にpingを実行したかったのです.

数日前に IPtables の変更を行った人 (元に戻し、何とか問題を解決しました) は、これらが問題のあるエントリであると述べています。

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

最初のエントリは以前の状態で、2 番目のエントリは彼が変更してサイトを壊したものです。最初のエントリに戻ると「修正されました。」まず、私は知っています、非常に安全です...それはローカルの開発ボックスです。

URL をカールしてみました (これは壊れないため、現在は機能しています)。何が見えるかを確認したところ、この質問の 2 番目の部分に気付きました。Curl* Closing connection #0は print_r が入る前に登録し、入ってくると私のプロンプトの下に入ります:

< HTTP/1.1 302 Found
< Date: Thu, 18 Apr 2013 16:14:55 GMT
< Server: Apache/2.2.3 (Red Hat)
< X-Powered-By: PHP/5.3.3
< location: app.php?cart_item_id=1234567
< X-UA-Compatible: IE=Edge
< Content-Length: 17
< Connection: close
< Content-Type: text/html; charset=UTF-8
<
* Closing connection #0
<pre>before</pre>[user@localhost ~]$

だから....ええ。何かご意見は?つまり、今はすべて問題ありません。理由を知りたいだけです...

Bass: わかりました。

[user@localhost~]$ curl yahoo.com -v
* About to connect() to yahoo.com port 80 (#0)
*   Trying 206.190.36.45...
* connected
* Connected to yahoo.com (206.190.36.45) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-redhat-linux-gnu) libcurl/7.24.0 NSS/3.13.5.0 zlib/1.2.5 libidn/1.18 libssh2/1.2.2
> Host: yahoo.com
> Accept: */*
>
< HTTP/1.1 301 Redirect
< Date: Fri, 19 Apr 2013 13:28:10 GMT
< Connection: close
< Server: YTS/1.20.13
< Cache-Control: no-store
< Content-Type: text/html
< Content-Language: en
< Location: http://www.yahoo.com/
< Content-Length: 211
<
<HEAD><TITLE>Redirect</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black">
<FONT FACE="Helvetica,Arial"><B>
 "<em>http://www.yahoo.com/</em>".<p></B></FONT>

<!-- default "Redirect" response (301) -->
</BODY>
* Closing connection #0
[user@localhost~]$

* Closing connection #0結局コンテンツを取得します。違いはなんですか?

iptables ルールに関しては、そのルールの後に続く他の許可、ポート 80 などがあります。だから私は推測する....バー...まあ、私は知らない...

4

2 に答える 2