質問: ### 前提・実現したいこと ※URLは例としてexample.co.jpとしております AWSのサービスのみで、Wordpressサーバで構築したHPのアドレスを、httpからhttpsへ移行したいです。 例)http://www.example.co.jp => https://www.example.co.jp ### 使用環境 ※全てAWS上での環境です 1Wordpressサーバ ※AWSで構築しております OSはUbuntu16.04 64bit 2Certificate Managemer example.co.jpのドメインで証明書申請 => 発行完了 3Application Load Balancer ・リスナーに80と443を設定 ・セキュリティーポリシーは「ELBSecurityPolicy-2016-08」を指定 ・443には上記2で発行した証明書を設定 ・ターゲットは1のポート80を指定、登録済みターゲットに設定 4Route53 ・example.co.jpのAレコードをセット Alias=Yes、Value=3のロードバランサーのDNS名「~.elb.amazonaws.com」を指定して保存 5セキュリティーグループの設定 HTTP(80)、HTTPS(443)のインバウンドを許可設定にしております。 ### 発生している問題・エラーメッセージ Google Chromeにてhttpsで該当のページへアクセスすると、 「この接続ではプライバシーが保護されません」 (該当HP)では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。 NET::ERR_CERT_AUTHORITY_INVALID が出力し、アクセス出来ません。 Firefox等で例外許可し、無理やりアクセスする事は可能です。 ### 試した事 1wp-config.phpにて、DBのパスワードなどが記述されている箇所のすぐ下へ次のように追記 define('WP_HOME','https://www.example.co.jp'); define('WP_SITEURL','https://www.example.co.jp'); ※作業開始前からWordpressの管理画面で、Wordpressアドレスとサイトアドレスがグレーアウトになっていました。 この編集を実行した後、HPへアクセスすらできなくなり、wp-config.phpファイルを元に戻しても復旧せず。 仕方なく、事前にとっていたスナップショットから復旧させました。 2.htaccessを編集し、下記の記述を先頭行へ追記 RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] エラー変わらずでした。 3WordpressにReally Simple SSLのプラグインをインストール エラーとなり、うまくいきませんでした。現在は無効にしてあります。 4ロードバランサーのセキュリティーポリシー設定 「ELBSecurityPolicy-2016-08」以外のポリシー全てに変更してみましたが、変化ありませんでした。 Wordpress、およびネットワークに疎く申し訳ございませんが、お知恵をお貸しください。 どうぞよろしくお願い致します。
回答: 結局、当初の方法を断念し、下記URLを参考にしてそれぞれ対応致しました。 1. https化 ========== Bitnami wordpressをLet’s Encryptを使って無料でSSL化【AWS】 まず、上記でhttps化を行いました。 ※念のためリンク先の内容をザッと転記します。 1. Gitをインストール `sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext` `sudo apt-get install git` 2. Let’s Encryptのインストール `cd 任意のディレクトリ` (Let’s Encryptの展開場所) `git clone https://github.com/letsencrypt/letsencrypt` `cd letsencrypt` `./letsencrypt-auto --help` 3. Let’s EncryptでSSL証明書を発行 `./letsencrypt-auto certonly -a standalone -d <証明書を取得したいドメイン>` Congratulations!とでればSSL証明書の発行成功。 ※以下のエラーが出た場合はApacheを一度停止してから再度コマンドを実行。 sudo /opt/bitnami/ctlscript.sh stop apache At least one of the (possibly) required ports is already taken. <生成した証明書の確認> `sudo ls /etc/letsencrypt/live/` 4. Apacheでhttps通信を有効化 * /opt/bitnami/apache2/conf/httpd.confの下記コメントアウトを外す `Include conf/extra/httpd-ssl.conf` * /opt/bitnami/apache2/conf/extra/httpd-ssl.confの編集 ※発行した証明書のパスを指定 SSLCertificateFile "/etc/letsencrypt/live//cert.pem" SSLCertificateKeyFile "/etc/letsencrypt/live//privkey.pem" SSLCertificateChainFile "/etc/letsencrypt/live//chain.pem" 元の設定はコメントアウトするか削除する * /opt/bitnami/apache2/conf/bitnami/bitnami.confの編集 `` `RewriteEngine On` `RewriteCond %{HTTPS} !=on` `RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]` `` ↓からファイルの最終行まですべてコメントアウト `Default SSL Virtual Host configuration` * /opt/bitnami/apache2/conf/extra/httpd-ssl.confの編集 `` ↓ `Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"` `` `Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"` これでhttps通信が有効化となる。 但し、httpからのリダイレクトが完了していない状態。 * /opt/bitnami/apache2/conf/extra/httpd-ssl.confの編集 `` `Header set Strict-Transport-Security "max-age=315360000; includeSubDomains"` ※この2行を追加 * Apacheの再起動 `sudo service httpd restart` 2.WordPressのデータベース置換 ===================== 【リス様】WordPressのデータベース置換プラグインといえばSearch Regex 続いて、上記でサイト内にあるデータの一括https置換を行いました。 一部ページでhttpのままだったりしましたが、ヘッダーのロゴ画像だけhttpsに置換されていなかったりしましたので、 該当の画像を設定している場所をWordpressの管理コンソールから探し、直接変更する事で解消しました。