※2014/02/04
404を返す方法を書きました。
【apache】サーバのIPアドレスへのアクセス時に404を返す
http://127.0.0.1/
みたいなアクセスを無効にしたかった。
とはいえ、403を返すくらいしか出来ないっぽいけど。
やり方は簡単ではあるが、一部詰まってしまった所があったのでメモ。
参考: 【apache】サーバーのIPでアクセスできないようにするには?
httpd.confを編集。
#NameVirtualHost *:80
のコメントを外す。
NameVirtualHost *:80
以下を追記。
<VirtualHost *:80> ServerName any DocumentRoot /tmp </VirtualHost>
※/tmpはapacheのアクセス制限がないため、403を返す。
apacheを再起動
service httpd restart
……でいけるはずなのだがダメ。
何がダメなのかと調査をした結果。
……そういえばconf.dにいくつかconfファイルを突っ込んでいた。
で、httpd.confで「conf.d」で検索すると、200行目辺りにありました。
# # Load config files from the config directory "/etc/httpd/conf.d". # Include conf.d/*.conf
これが記述されているせいで、conf.dに入っているconfファイルを読んでしまい、IPからアクセスがあった際でもそちらを優先していた。
ということで、上記Include文をhttpd.confの最下部に移動し再起動。
ちゃんと403エラーを返すようになりました。