それは失礼しました。ただ、HTTP 1.1 的には、Cache-Control: no-cache とか Pragma: no-cache とかがあるだけで Proxy だと看做すことはかなり間違っている気はします。静的な単なる HTML 文書を返すときにもそれらのヘッダと共に返されることはそれなりにあるはずです。世の中の Proxy の実装の都合でそうなのかも知れないので断言は危険ですが、irc2.10.3p3+hemp+jp7 の仕様がどうもおかしい気がしますね。ま、安全側に倒すことは悪いことではないので別に構いませんが。また、これも僕自身が Wiki というもののあるべき実装を知らないのでどちらが Wiki 的にいけてないのか、それともそもそもそのあたりについては何も言及されていないため実装者の趣味が反映されているのかは知りませんが、あらゆる Wiki で成立することでもなさそうです。PukiWiki 1.3.4 や AsWiki 0.93 ではそのようなヘッダを吐くことは確認できませんでした。
対策については、単純に IRC サーバからのパケットを落とすだけでよい気がします。
私が書きたかったのは、「Cache-Control: no-cache 」や「Pragma: no-cache 」ではなく、wikiをTOPページに置くと、「HTTP/1.1 200 OK」と返してしまい、web proxy と ircサーバが認識してしまい拒否されたと言うことです。
本来は、「HTTP/1.1 405 Method Not Allowed」と出すのが正しいと思われますが…。要はCONNECTというメソットは使えないと返すべきかと。まぁ、「HTTP/1.1 302 Found」でもIRCサーバへの接続は可能の様ですが…。
# 302 を返したのは.htaccess によるRedirectを使ってるからかも…
要は、hemp そのものの仕様として、CONNECT のメソットに対して 200 OK さえ出さなければ接続可能とのこと。
また、いわいさんのおっしゃるように、パケットを落とせば手っ取り早いかもしれませんが、ただ、落とすだけでは接続に時間がかかるようになるはず(未検証)。identの要求と同じように、proxyのチェックでも「Connection reset by peer」となるように落とさないと、タイムアウトが起こるまで待つはずです。
すみません。日本語が全然読めてなかった模様。CONNECT ですか。
Apache/1.3.27 な環境で試してみると CONNECT しにいくと 400 を返しますね。いろいろ試しても 200 とか 302 はでなかったです。そもそも、ソースは読んでないんですけど、実装的には 400 になるべきリクエストがきたら、その URL で表現されるリソースとは関係なく、400 を返すようにすると思うので Wiki か否かというところまでチェックしにいかない気がするのですが、ソース読む気はないし、IRCサーバとのやりとりをチェックするのも面倒なので検証はしない方向で(謎)。
私もくらいました.....
結局、httpd.confでは逃げられなかったので(動的IPだしなぁ^^;)、iptablesでIRCサーバからの接続をDROPしました。
PukiWiki1.3.4です。うーむ。
色気を出してlilo-bkのWikiをVirtualDomainでやったのが敗因でした(笑)
ってか、普通きづかねーよ....
とある方からつっこまれましたが,情報としては, _default_ の / に対して cgi 等を置くと CONNECT METHOD を許可してしまうそうです。
私は今のところ検証をしていないため断定は出来ませんが,もし繋がらないとか該当していると思われる場合は確認してみてください。
CONNECT method 許さないように .htaccess なり httpd.conf なりで指定する。以上。
Apache だったら出来ないほうが不思議。
<Limit GET POST>
Options -ExecCGI
</Limit>
逆転させてもいいだろうけど。
※ ブラウザキャッシュを持っていることが多く,投稿後なかなか日記には反映されませんので,強制リロードしてみてください
※ IEであれば"Clrl+F5"で強制リロードが行えます
※ 特定のリモートホストからの投稿は、認証画面が出ますので、ID及びパスワードに 'test' と入力してください。