ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Ubuntu:SSLサーバー証明書の設定

Ubuntuの本番環境にSSLサーバー証明書の設定を行う前に、手順の確認を行いました。
「ubuntu apache2 ssl」で検索して、情報を確認しましたが、迷った点があります。

GMOグローバルサインのどのサポートページを参考にすべき?

SSLサーバー証明書は、GMOグローバルサインで取得しています。
GMOグローバルサインのサポートページを見ると、Apache 2.x + mod_ssl + OpenSSLの場合Apache-SSL + SSLeayの場合があり、Apache-SSL 、SSLeayという単語を知らなかったので、UbuntuでのApacheは、どちらが該当するのだろう?と悩みました。

2015年の記事ですが、Ubuntu 14.04LTSのApacheでは、標準で自己署名のSSLサーバー証明書が設定されているとありました。
gihyo.jp

Ubuntu 20.04LTSのApacheではどうなんだろうと確認したら、

/etc/ssl/openssl.cnf

が存在したので、OpenSSLの場合を参考にすべきとわかりました。

Web
Image by Brita Seifert from Pixabay

設定ファイルは、標準の設定ファイルから新たに作成すべき?

Apacheを設定した際に参考にしたページでは、

/etc/apache2/sites-available/000-default.conf

を編集せず、新たに設定ファイルを作成して、作成したファイルを有効にして、標準のファイルを無効にするように書かれていました。
qiita.com
www.digitalocean.com

SSLの設定は同様に、

/etc/apache2/sites-available/default-ssl.conf

を編集せずに、別途設定ファイルを作成するのかと思って見てみましたが、標準の設定ファイルを修正をされているページばかりでした。

新たに設定ファイルを作成しても大丈夫だとは思いましたが、SSLの設定は、標準の設定ファイルを修正しました。


2021年に、SSLサーバー証明書の設定をしていますが、CentOSだったことと、1年経っていて、設定が正しくできるか不安がありました。
設定作業を確認した結果、

  1. サーバ証明書と中間CA証明書のファイル、秘密鍵のファイルの2種類のファイルを作成する。
  2. SSLの設定ファイルを修正する。
  3. ApacheSSLの機能を有効にする。

という手順とわかりました。

2と3は、こちらのページを参考にしました。
www.server-world.info
上記のページでは、サーバ証明書と中間CA証明書のファイルが別々になっていますが、GMOグローバルサインのApache 2.x + mod_ssl + OpenSSLの場合には、

Apache 2.4.8以降の場合、SSLCertificateChainFileが廃止となりました。
中間CA証明書はサーバ証明書と結合して、SSLCertificateFileに設定してください。

と書かれていて、設定ファイルを修正した際は、

                #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

のようにコメントアウトされていたので、そのままにしました。