Tag: SSL



2010 8月23日

Apache でIPベースのバーチャルホストを使う場合の注意点

VirtualHostディレクティブを利用する。VirtualHostディレクティブは、

<VirtualHost IPアドレス>

</VirtualHost>

のように記述し、これが1ホスト分のブロックとなる。つまり、バーチャルホストでホスティングしたいホストの数だけ、このブロックを記述すればよい。

IPベースで注意する点は、<VirtualHost IPアドレス>のIPアドレスを各ブロックで異なるものにしなければならないということである。Apacheは、このIPアドレスでホストの設定のブロックを識別するからである。

バーチャルホストによる複数サイトの同時運用 より

つまり1つのIPアドレスで1つのサイト(FQDN)のみしか運営出来ない。
名前ベースのバーチャルホストと大きく異なる。

名前ベースのバーチャルホストと混合させる場合

名前ベースのバーチャルホストとIPベースのバーチャルホストを混合させる場合、 VirtualHost ディレクティブにポート番号も付加する。

<VirtualHost *:80>

</VirtualHost>

<VirtualHost IPアドレス:80>

</VirtualHost>

SSL を利用する場合も同様に 443 など、ポート番号を付加する。

IPベースでバーチャルホストを利用する場面としては(自分の場合)SSLサイトを作る際、ドメインが違うサイトでSSL証明書を使い分けなくてはならない為。通常の場合なら名前ベースのバーチャルホストで用が足りるはず。

ワイルドカード証明書では異なるドメインに対応出来ないし。ただ、ベリサインからマルチドメインなる証明書の販売が始まるとか始まったとか。







2010 5月20日

自動でSSLページへ移動させるJavaScript

ログインページ等でSSLのみのアクセスにしたいページがある場合、リンクをhttpsから始まるURL にしなくてはならないのでちょっと面倒。

仮想パス(../aaa/bbb/ccc.html)やフルパス(/aaa/bbb.html)で既にサイトを公開している場合には、どこかしらで修正を見逃す場合もある。

それならhttp でアクセスされた場合はhttps へ移動させればよさそう。
head内とかに以下のJavascript を設置するだけでOK.

<script><!-- change ssl protocol
  if (document.location.protocol==="http:")
  {location.replace('https://'+window.location.host+window.location.pathname);}
//--></script>

今までのパスを変更しないで済むので多少楽・・・かな。