【技術メモ】SSL証明書を購入して設定するまで
自前のWordpressをHTTPS化するまでの手順
20190807追記
ファイル認証で更新する
メール認証はメールサーバを立てて置かないといけないので、Web公開できてるならファイルの方が楽。
- 認証局から送られてくるファイルを指定のパスで公開する
- 依頼後すぐに送られてくる、届いてなかったら迷惑メールフォルダをチェック(これで5日待った)
- リダイレクト、アクセス制限、認証、http->https転送などは切っておくこと
更新時にエラーが出る
1年更新をしたらエラーが出て起動できない
$ sudo cat /var/log/httpd/ssl_error_log [Wed Aug 07 01:04:58 2019] [warn] RSA server certificate CommonName (CN) `xxx.xyz' does NOT match server name!? [Wed Aug 07 01:04:58 2019] [error] Unable to configure RSA server private key [Wed Aug 07 01:04:58 2019] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
原因
なんらかでkeyファイルと発行されたcrtファイルが照合できないこと
調査方法
以下が一致しないといけない
$ openssl x509 -noout -modulus -in xxx.xyz.crt | openssl md5 (stdin)= 1234567890abcdfghijklmnopqrstuvw $ openssl rsa -noout -modulus -in XXXXkey.pem | openssl md5 Enter pass phrase for XXXXkey.pem: (stdin)= abcdfghijklmnopqrstuvw1234567890
対処
発行し直したほうが早い。
以下、元の記事。
参考サイトはこちら
サーバ証明書の購入
SSLストアで好きな証明書を購入。
サーバ側でCSRを生成
CSR(Certificate Signing Request) : サーバIDを申請・取得するために認証局へ提出する「署名リクエスト」
### openssl のインストール確認 $ openssl version ### 乱数を生成して秘密鍵を作成し、CSRファイルを作成する $ cd /usr/bin/ $ sudo ./openssl md5 * > /tmp/rand.dat $ openssl genrsa -rand /tmp/rand.dat -des3 2048 > /tmp/2016key.pem $ openssl req -new -key /tmp/2016key.pem -out /tmp/2016csr.pem ### 生成したCSRを確認する $ cat /tmp/2016csr.pem
発行されたファイルをサーバに登録する
- 認証ファイルが発行されたら、SSLストアからダウンロードしてサーバにアップする
- 認証が通って証明書が発行されたら、証明書もサーバにアップする
- サーバ上の任意の場所に、任意の名前.crtファイルを作成して、証明書を貼り付ける。
- 同様に、サーバ上の任意の場所に、任意の名前.ca.crtファイルを作成して、中間CA証明書を貼り付ける。
### mod_ssl を確認して、なければインストール $ yum list installed | grep ssl $ sudo yum -y install mod_ssl ### ssl.confを編集する $ view /etc/httpd/conf.d/ssl.conf ServerNameにドメインを指定する。 SSLCertificateFile に 任意の名前.crt を指定する。(証明書) SSLCertificateChainFile 任意の名前.ca.crt を指定する。(中間CA証明書) SSLCertificateKeyFile に、秘密鍵.key.pem を指定する。 ### httpd を再起動する $ sudo service httpd restart
HTTPSでアクセスできれば成功。別途、apacheの設定はHTTPをHTTPSに転送するなりしておいた方が良い。