ゴマちゃんフロンティア

アザラシが大好きな山梨県産SEの開発日記です

さくらVPSでSSL証明書の参照先がデフォルトになっていたお話

time 2019/07/14

今朝ブラウザから私のブログを見ると、証明書のプライバシーエラーになっていました。
Chromeで見ると↓のような画面です。「ERR_CERT_COMMON_NAME_INVALID」と表示されています。

そんなこともあり、朝から原因調査と対応に追われたので、備忘として書いておきます。
先に結論を書くと「ssl.confのVirtualHostの設定をコメントアウト」で直りました。

経緯と対処法

SSL証明書のCNがさくらVPSのホスト名 (.vs.sakura.ne.jp) になっており、ドメイン名とCNが異なっている旨のエラーが出ていました。
使用している証明書の情報をコマンドで確認しましたが、特に問題はなさそうでした。
であればhttpdの設定が疑わしいです。

httpdの設定のうち、vhost関連は問題なさそうです。
しかしそれが適用されていないので、Let’s Encryptのvhosts-le-ssl.confが正常に読まれていないか、他の設定が使われているかのどちらかでしょう。
VirtualHostの設定はhttpd -Sコマンドで確認できます。

[root@host httpd]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443                  is a NameVirtualHost
         default server gomafrontier.com (/etc/httpd/conf.d/ssl.conf:76)
         port 443 namevhost gomafrontier.com (/etc/httpd/conf.d/ssl.conf:76)
         port 443 namevhost gomafrontier.com (/etc/httpd/conf.d/vhosts-le-ssl.conf:2)
         port 443 namevhost unityrankingserver.gomafrontier.com (/etc/httpd/conf.d/vhosts-le-ssl.conf:16)
*:80                   is a NameVirtualHost
         default server gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:1)
         port 80 namevhost gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:1)
         port 80 namevhost azarashiquiz.gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:10)
         port 80 namevhost unityrankingserver.gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:19)
Syntax OK

どうもssl.confの設定が優先されているようです。
同ファイルを確認すると、証明書の参照先が/etc/pki/tls/certs/localhost.crtになっていたので、その内容を確認します。
コマンドはopenssl x509 -text -noout -in [.crtファイルのパス]です。

空白の部分はホスト名です。.vs.sakura.ne.jpになっているので、こいつが参照されているで間違いなさそうです。
デフォルト設定を参照してもらっても困るので、ssl.conf<virtualhost>ディレクティブを丸ごとコメントアウトし、httpdを再起動します。
再度httpd -Sで確認しましょう。

[root@host httpd]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443                  is a NameVirtualHost
         default server gomafrontier.com (/etc/httpd/conf.d/vhosts-le-ssl.conf:2)
         port 443 namevhost gomafrontier.com (/etc/httpd/conf.d/vhosts-le-ssl.conf:2)
         port 443 namevhost unityrankingserver.gomafrontier.com (/etc/httpd/conf.d/vhosts-le-ssl.conf:16)
*:80                   is a NameVirtualHost
         default server gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:1)
         port 80 namevhost gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:1)
         port 80 namevhost azarashiquiz.gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:10)
         port 80 namevhost unityrankingserver.gomafrontier.com (/etc/httpd/conf.d/vhosts.conf:19)
Syntax OK

これで正しい証明書が読み込まれました。

Chromeから見ても問題なさそうです。

あとがき

思い当たることと言えば、さくらVPSのDNS逆引き設定を変えたことくらいですね。
それによって今まで参照されていなかったデフォルト設定が優先されてしまったのかもしれません。
はっきりした原因は分からず終いですが、エラーになった理屈は把握できたので、これで様子を見てみます。

スポンサーリンク

down

コメントする



ツイッター

このブログを書いている人

りべるん

りべるん

アザラシがとっても大好きな山梨県産Webエンジニア。2019年3月よりフリーランスSEとして東京で活動中。自称「Web業界のアザラシ」 [詳細]



スポンサーリンク