• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:httpルートへのアクセスはサーバーがいないようなフリをさせたいです。)

httpルートへのアクセスをフリとする方法

このQ&Aのポイント
  • httpルートへのアクセスをフリとする方法を考えます。具体的には、httpルートに存在しないようなドメインやIPを入力した場合と同じリアクションを返すことを目指します。
  • httpルートへのアクセスをフリとする方法は、httpd.confファイルの設定で実現することができます。
  • httpd.confファイルの設定によって、httpルートへのアクセスがあった場合に任意のリダイレクトやエラーページを表示することができます。これにより、サーバが存在しないようなフリをさせることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.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アドレス/ はエラー(本当に存在していない状態)にするということです。

ngwave
質問者

お礼

回答ありがとう御座います。

その他の回答 (4)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.4

ムリね。 ドメインがないエラーはブラウザのエラー画面が返るけど サーバに到達した場合のエラーはHTTPサーバが返すから。 せいぜいできて ・実際に存在しない似たようなドメインに飛ばす ・同じHTMLを作成してごまかす くらいだわ。 あ、でも、もしサーバにSSL導入していないなら https://ドメイン/にとばすのはありかもね。 確か同じエラー画面が返る筈・・・。 その前にセキュリティの警告が出ちゃうかしら。 やっぱりダメね。

ngwave
質問者

お礼

回答ありがとう御座います。

  • tommy1977
  • ベストアンサー率43% (178/410)
回答No.3

んー、っと、 つまり、 http://hogehogehoge.com/dira はリクエストを通して、 http://hogehogehoge.com/ はリクエストはNGかつ、それが存在していないような ようにするということですか? DNSに登録されており、別フォルダがアクセスできるなら 無意味だとは思いますが。 ServerTokensをコメントアウトするとかはもありですけど・・・ 質問者さんの期待する動作ではないかもしれませんね。

ngwave
質問者

お礼

回答ありがとう御座います。

回答No.2

無理なんじゃないですか。 クライアントがどのアドレスにアクセスしようとしてるかは、ポート80に接続されてgetコマンドが送信されるまでわかりませんよね。 それに対し、サーバーが存在しない場合は、ポート80への接続自体が失敗するわけですから。 リダイレクトとかしても、一旦接続できたことはばれちゃうんじゃないでしょうか。

ngwave
質問者

お礼

回答ありがとう御座います。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

確認したいんだけど ・ルートには何も置いていないってこと? ・index.htmlはIndexes? ・http://ドメイン/index.htmlもエラーになるの? ・そもそも現在http://ドメイン/でアクセスするとどうなるの?

ngwave
質問者

お礼

>・ルートには何も置いていないってこと? 置かないつもりです。 >・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 アクセスが許可されているか確認してください。 = = = = = = = = = = これと全く同じ状態にしたいんですが、できますか?

関連するQ&A