さくらインターネットの「JPRSドメイン認証型」(1年)をSSL設定に使用しました。以前もこの証明書の設定を行ったことがありますが、手順を忘れないように記録に残すことにしました。
【keyファイル生成~csr生成~crt発行まで】
JPRSのCSRの生成手順をもとに作業を進めました。
https://jprs.jp/pubcert/service/manual/
・CSR発行
opensslのコマンドで鍵ペア、servername.keyを出力
鍵ペアが生成されたことを確認後、opensslのコマンドで、server.csr(ファイル名は一例です)を出力
↓
さくらインターネットのSSL申し込み画面でcsrをペーストしSSLサーバ証明書の申請が完了。
その後は以下のステップで設定作業を進めました。
STEP1
さくらインターネットの会員画面から「認証ファイル」をダウンロード。拡張子は.txt
STEP2
STEP1の認証ファイルを、申請時に指定したFQDN(コモンネーム)配下にアップロード
コモンネームを「www+ルートドメイン」(例:www.example.com)で申請した場合でも、wwwを取り除いたURLでないと認証されません。
「www+ルートドメイン」のみのURLで、サイトを公開している場合は、証明書が発行されるまでの間、「www」無しの設定が必要。
・DNS設定
今回対象のサイトが「www無しのルートドメイン」でアクセスできなかったため、DNSの設定にAレコードを追加しました。
・htaccess
「www無しのルートドメイン」にリダイレクトさせるため、.htaccessを配置。
STEP3:crt発行
認証局は自動的に認証ファイルのクローリングを行っており、STEP1のテキストファイルの配置を確認するとすぐに証明書を発行します。
登録したメールアドレスにさくらインターネットからメールが届き、さくらインターネットの会員ページで証明書「server.crt」がダウンロードできるようになります。
【サーバーにSSL関連ファイルのインストール】
CentOSにOpenSSL、mod_sslはインストール済み。
・下記3ファイルを設置しました。
SSLCertificateKeyFile /etc/pki/tls/private/servername.key #秘密鍵ファイル(KEY)のパス
SSLCertificateFile /etc/pki/tls/certs/server.crt #サーバ証明書ファイル(CRT)のパス
SSLCertificateChainFile /etc/pki/tls/certs/JPRS_DVCA_G2_PEM.cer #中間証明書ファイルのパス
【HTTP→HTTPS転送設定】
mod_sslインストール、HTTP→HTTPS転送については下記ページを参考にしました。
Apache 2.4にmod_sslを設定する
下記パスに「rewrite.conf」を新規で作成。
/etc/httpd/conf.d/rewrite.conf
RewriteEngine On
LogLevel alert rewrite:trace3
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
sudo systemctl stop httpd
sudo systemctl start httpd
以上でsslをインストールできました。