[warn] RSA server certificate CommonName (CN) `ドメイン名’ does NOT match server name!? が出たら…

Webサーバー(Apache)のエラーログを見ていると、サーバー再起動やApacheリスタートの際などに、SSL周りのエラーが発生しているのを発見。

[Tue Nov 17 12:51:29 2015] [warn] RSA server certificate CommonName (CN) `example.com’ does NOT match server name!?

RSA暗号化サーバーのコモンネーム証明書がサーバーネームと違いますよ!?

と。おや、そうでしたか。
https://www.weblogy.co.jp/ への接続は問題なくできているし、ブラウザ上ではSSL証明書エラーも出ないんですけど、それはApacheの方で「どうやら違ってるけど証明書と鍵は合ってるからうまいこと融通きかせときまひょ」という感じのようです。
エラーログに記されているメッセージは、つまり「ホンマはあかんねんで?」ということですね。

まあ、毎回こんなエラーが発生しているのはよろしくないので、解消しましょう。

/etc/httpd/conf.d/ssl.confの記述を見てみると…

/etc/httpd/conf.d/ssl.conf

NameVirtualHost *:443

<VirtualHost *:443>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /home/www/html/
        ServerName example.com
        ServerAlias www.example.com
SSLEngine on
(中略)
</VirtualHost>

となっていました。

この記述で、ApacheとしてはServerNameとServerAliasとどちらも同じDocumentRootで処理することができるので、httpの場合ならこれでもいいんですけど、httpsの場合はコモンネーム(CN)がサーバーネームと一致しているひつようがあるのでまずいんですね。

NameVirtualHost *:443

<VirtualHost *:443>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /home/www/html/
        ServerName www.example.com
        ServerAlias example.com
SSLEngine on
(中略)
</VirtualHost>

wwwありをサーバーネームに、なしをエイリアスにしてApache再起動。

[root@www5254ue logs]# service httpd restart

エラーが出なくなり、解決です。