複数のサブドメインがあり、それぞれが httpd.conf と (https をサポートしている場合) ssl.conf に独自の virtualhost エントリがあります。メインの www サブドメインには、GoDaddy 証明書が関連付けられています。開発サーバー (「api.bulbstorm.com」) で現在構成しているサブドメインには、次のような ssl.conf 仮想ホスト エントリがあります。
<VirtualHost 172.16.247.153:443>
DocumentRoot "/var/www/api"
ServerName api.bulbstorm.com:443
ErrorLog logs/api-error_log
CustomLog logs/api-access_log common
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /var/www/certs/api/server.crt
SSLCertificateKeyFile /var/www/certs/api/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
<Directory "/var/www/api">
Options +FollowSymLinks
RewriteEngine On
AllowOverride All
Order allow,deny
Allow from all
</Directory>
php_value include_path "/var/www/inc"
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
... /var/www/certs/api/ の crt およびキー ファイルは、こちらの手順に従って openssl を使用して生成されました。
api サブドメインは、もともと www サブドメインの godaddy 証明書を指していました。しかし、api サブドメインに関連付けられた virtualhost エントリを変更して、自己署名証明書/キー ペアを指すようにしました (そして、httpd を再起動し、godaddy 証明書などの以前の例外に関連するブラウザー設定を完全にクリアしました)。証明書が www ドメイン用であるという警告がまだスローされています。ブラウザーがプルしている証明書を見ると、まだ Godaddy 証明書を取得しているようです。
ssl.conf ファイルの上位に、次の行があります。
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
この証明書/キー ペアは、www サブドメインの virtualhost エントリで参照される godaddy 証明書/キー ペアとは異なります。次のようになります。
SSLCertificateFile /etc/www.bulbstorm.com_ssl/www.bulbstorm.com.crt
SSLCertificateKeyFile /etc/www.bulbstorm.com_ssl/www.bulbstorm.com.key
SSLCertificateChainFile /etc/www.bulbstorm.com_ssl/gd_intermediate_bundle.crt
私が抱えている問題に誰もが当てることができる光は、高く評価されます。