2017-08-18

VirtualHost とデフォルトサイト

これは常識なのかもしれないけど、

・サイトは、すべて VirtualHost で定義する。
・VirtualHost 定義の一番先頭に、

<VirtualHost *:80>
</VirtualHost>

ってだけ書いておく。
・IP直打ちでアクセスされたときのために、デフォルトのドキュメントルート(/var/www/html)は空にしておく。
・VirtualHostの定義は、httpd.conf の一番最後で行う。サイトごとに別ファイルで定義するときは、httpd.conf の一番最後で Include する。
・名前ベースのバーチャルホストでSSLする。

ってことをするようにした。


こうすることで、

・IP直打ちアクセスや意図しないHOST_NAMEでのアクセスは、全部、デフォルトのドキュメントルートへ流す。

ことができて、これらの意図しないアクセスはすべて 403 で捌けるなと。

でも、その前の前提として、httpd.conf で

<Directory "/var/www/html">
 Options -Indexes +FollowSymLinks
・・・
</Directory>

ってしておくことと、

# rm /etc/httpd/conf.d/welcome.conf 

って消しておいてね

.htaccessで403を404で返す

久しぶりにリライトルールを書いたよ。 ドキュメントルートに.htaccessを置く場合の記述↓ # 403.html は実体がなくてよい。この設定をすることで、あっても使われなくなる。 ErrorDocument 403 /403.html # 独自の404ページをドキュメ...