無料でSSLを利用できるということでLet’s Encryptを利用したものの、bncert-toolでのインストールがうまく行かなかったことや、https化したらcssが読み込めなくなるといった問題に遭遇したため、その記録を残しておきます。
前提
- lightsail上で静的IPを取得済み
- 取得したIPと紐づいたドメインを取得済み
発生した問題と対処
- (今回は扱わない)Gitリポジトリからletsencryptをcloneしてインストールを試みる
- ./letsencrypt-autoを実行するもエラー発生(Your system is not supported by certbot-auto anymore.)→無視して別の方法を探る
- bncert-toolで簡単にインストールできそうなのを見つけ、こちらを試みる
- エラー発生(SSLCertificateFile: file ‘/opt/bitnami/apache2/conf does not exist or is empty)
- /opt/bitnami/apps/wordpress/htdocs/wp-config.phpのcrt, keyファイルをデフォルト(server.crt, server.key)に戻して再度実行したところ通った
- https接続でCSSがダウンロードされない問題発生
- wp-config.phpからリソースのURLを修正することで解決
以下では2からの対処について説明します。
SSLCertificateFile: file ‘/opt/bitnami/apache2/conf does not exist or is emptyを解決
こちらの回答を参考にしました。
/opt/bitnami/apache2/conf/bitnami/bitnami.confから一度自身のドメインに関するcrt, keyの部分を初期設定に戻してから再度bncert-toolを実行するというものです。
// エラーが発生している時
SSLCertificateFile "/opt/bitnami/apache2/conf/www.{domain}.com.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/www.{domain}.com.key"
// 修正後
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
// 再度実行
sudo /opt/bitnami/bncert-tool
https接続でCSSがダウンロードされない問題を解決
簡単に言うと、cssダウンロード時の参照先が「外観/テーマの編集」で表示される「リソース先のURL」となっていて、これがhttpだったためにcssがダウンロードされないというものでした。
そのため、リソース先のURLをhttpsに修正する必要があります。修正は以下のように行いました。
// 修正前
...
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
...
// 修正後
...
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/');
...
コメント