Apache(httpd.conf)で,SSLとnon-SSLの接続をわける
Apache は普通に使ってると,SSL と non-SSL で同じディレクトリを使うのかもしれませんが(デフォルト設定を知らない),これは分けることができます
NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> DocumentRoot /usr/local/www/data </VirtualHost> <VirtualHost *:443> DocumentRoot /usr/local/www/data_ssl SSLEngine on </VirtualHost>
こうすれば,本来 SSL が必要なアクセスで,間違って SSL 無しでアクセスされる恐れはなくなります
また,SSL に限らず,特定のディレクトリで,特定のポートへのアクセスだけ区別したい場合,
RewriteEngine on RewriteCond %{SERVER_PORT} !80 RewriteRule .* [F]
とすると,80ポートへのアクセスに限定し,他のポートで Accept した場合は,Forbidden が返ります