やっと1台のサーバーにSSLサイトを複数設置させられた

Apacheの設定の話です。
NSIとかSANsで1つのSSL証明で複数のSSLサイトを認証させる場合。
ルートに設定を書いても駄目で、仮想ホストごとにSSLの設定を書くべし。
細かい説明はなしで、とりあえずメモ程度に
以下のコードを繰り返し書くだけでいい。

とにかく
NameVirtualHost *:80
NameVirtualHost *:443
を忘れると思い通りに動かない
最低限の設定なので、実際にはもっとしっかり書くこと

httpd.conf

NameVirtualHost *:80
NameVirtualHost *:443

#---- www1.exsample.com
<VirtualHost *:80>
    ServerName a.exsample.com
    RewriteEngine On
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /home/www/public_html
    ServerName www1.exsample.com

    #--- SSL
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www1.exsample.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www1.exsample.com/privkey.pem
    SSLCACertificateFile /etc/letsencrypt/live/www1.exsample.com/chain.pem
</VirtualHost>
#---- /www1.exsample.com

HTTP_REFERERは使うな

PHPで組んだものをIEデミルとどうも動きが怪しい。
ちょっと調べてみると、IEがセキュリティ設定の都合でHTTP_REFERERを吐いていないらしく、一部画面の推移に影響が出ていた。
てっきりJavaScriptだけだと思っていたのに、サーバにも情報を隠蔽していたらしい。
仕方がないので、HTTP_REFERERを使わないようにい変更するしかない・・・