- ベストアンサー
httpルートへのアクセスをフリとする方法
- httpルートへのアクセスをフリとする方法を考えます。具体的には、httpルートに存在しないようなドメインやIPを入力した場合と同じリアクションを返すことを目指します。
- httpルートへのアクセスをフリとする方法は、httpd.confファイルの設定で実現することができます。
- httpd.confファイルの設定によって、httpルートへのアクセスがあった場合に任意のリダイレクトやエラーページを表示することができます。これにより、サーバが存在しないようなフリをさせることができます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
mod_rewriteで自サーバの別ポート(使用してないポート)へリダイレクト 転送すれば、外見え的にはサーバが存在しないように見せられると思います。 (Rewriteルール記述例) RewriteEngine on RewriteRule ^/$ http://自ホスト名:9999/ [R=301,L] この場合、ブラウザからの「http://ホスト名/」に対して サーバは「301 Moved Permanently」を返却します。 その応答を受けてブラウザは、自動的に「http://ホスト名:9999/」へ アクセス先を変え、その結果を表示するので、外見えにはWebサーバが 存在しないようなブラウザ画面が表示されると思います。 でもパケットキャプチャを取れば、/に対して301の応答があったことは 一目了然です。 他の方も言っていますが、「/」へのアクセスか否かは、コネクションを 接続してからでないとわかりません。したがって、本質的に無理な話であり、 ほとんど無意味だと思います。 (ポート80にコネクション接続できた時点でWebサーバが稼働しているとわかる) ランダムなIPでWebサーバを探しに来る相手に自分のWebサーバを見せないように したいのであれば、自分が公開しているWebサーバのポート番号を80以外の 一般的でない番号にするのが効果的だと思います。 つまり、 http://ドメイン:9999/dira http://ドメイン:9999/dira/index.html http://ドメイン:9999/dira/page1.html http://IPアドレス:9999/dira http://IPアドレス:9999/dira/index.html http://IPアドレス:9999/dira/page1.html は、アクセス可能とするが、 http://ドメイン/ http://IPアドレス/ はエラー(本当に存在していない状態)にするということです。
その他の回答 (4)
- askaaska
- ベストアンサー率35% (1455/4149)
ムリね。 ドメインがないエラーはブラウザのエラー画面が返るけど サーバに到達した場合のエラーはHTTPサーバが返すから。 せいぜいできて ・実際に存在しない似たようなドメインに飛ばす ・同じHTMLを作成してごまかす くらいだわ。 あ、でも、もしサーバにSSL導入していないなら https://ドメイン/にとばすのはありかもね。 確か同じエラー画面が返る筈・・・。 その前にセキュリティの警告が出ちゃうかしら。 やっぱりダメね。
お礼
回答ありがとう御座います。
- tommy1977
- ベストアンサー率43% (178/410)
んー、っと、 つまり、 http://hogehogehoge.com/dira はリクエストを通して、 http://hogehogehoge.com/ はリクエストはNGかつ、それが存在していないような ようにするということですか? DNSに登録されており、別フォルダがアクセスできるなら 無意味だとは思いますが。 ServerTokensをコメントアウトするとかはもありですけど・・・ 質問者さんの期待する動作ではないかもしれませんね。
お礼
回答ありがとう御座います。
- m-take0220
- ベストアンサー率60% (477/782)
無理なんじゃないですか。 クライアントがどのアドレスにアクセスしようとしてるかは、ポート80に接続されてgetコマンドが送信されるまでわかりませんよね。 それに対し、サーバーが存在しない場合は、ポート80への接続自体が失敗するわけですから。 リダイレクトとかしても、一旦接続できたことはばれちゃうんじゃないでしょうか。
お礼
回答ありがとう御座います。
- askaaska
- ベストアンサー率35% (1455/4149)
確認したいんだけど ・ルートには何も置いていないってこと? ・index.htmlはIndexes? ・http://ドメイン/index.htmlもエラーになるの? ・そもそも現在http://ドメイン/でアクセスするとどうなるの?
お礼
>・ルートには何も置いていないってこと? 置かないつもりです。 >・index.htmlはIndexes? はい。 >・http://ドメイン/index.htmlもエラーになるの? ルートにはインデックスを置かないつもりです。 置いた場合は、 「http://ドメイン/index.html」でその内容を表示して構いません。 >・そもそも現在http://ドメイン/でアクセスするとどうなるの? 現在はまだ何もありません。 設定次第です。 どこかのページに飛ばすか、エラーコード返すかなどが一般的かもしれませんが、 ちゃんと目的のURLを打たずに、例えばランダムにIP打って適当なサーバを探してアクセスしてくるような人には、サーバが存在しないかのように振る舞いたいんです。 fire foxでデタラメなurlを入力すると、下記の画面になります。 = = = = = = = = = = サーバが見つかりませんでした www.konna_server_ha_arimasenn.com という名前のサーバが見つかりませんでした。 * www.example.com を間違えて ww.example.com と入力するなど、アドレスを間違って入力していないか確認してください。 * 他のサイトも表示できない場合、コンピュータのネットワーク接続を確認してください。 * ファイアーウォールやプロキシでネットワークが保護されている場合、Firefox による Web アクセスが許可されているか確認してください。 = = = = = = = = = = これと全く同じ状態にしたいんですが、できますか?
お礼
回答ありがとう御座います。