質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

4572閲覧

【AWS】AWS環境に構築したWordpressのhttpからhttpsへの移行方法

yamadatar

総合スコア5

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

2クリップ

投稿2017/11/09 12:39

###前提・実現したいこと
※URLは例としてexample.co.jpとしております
AWSのサービスのみで、Wordpressサーバで構築したHPのアドレスを、httpからhttpsへ移行したいです。
例)http://www.example.co.jp => https://www.example.co.jp

###使用環境 ※全てAWS上での環境です
①Wordpressサーバ ※AWSで構築しております
OSはUbuntu16.04 64bit
②Certificate Managemer
example.co.jpのドメインで証明書申請 => 発行完了 
③Application Load Balancer
・リスナーに80と443を設定
・セキュリティーポリシーは「ELBSecurityPolicy-2016-08」を指定
・443には上記②で発行した証明書を設定
・ターゲットは①のポート80を指定、登録済みターゲットに設定
④Route53
・example.co.jpのAレコードをセット
Alias=Yes、Value=③のロードバランサーのDNS名「~.elb.amazonaws.com」を指定して保存
⑤セキュリティーグループの設定
HTTP(80)、HTTPS(443)のインバウンドを許可設定にしております。

###発生している問題・エラーメッセージ
Google Chromeにてhttpsで該当のページへアクセスすると、
「この接続ではプライバシーが保護されません」
(該当HP)では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。
NET::ERR_CERT_AUTHORITY_INVALID
が出力し、アクセス出来ません。
Firefox等で例外許可し、無理やりアクセスする事は可能です。

###試した事
①wp-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ファイルを元に戻しても復旧せず。
仕方なく、事前にとっていたスナップショットから復旧させました。

 ②.htaccessを編集し、下記の記述を先頭行へ追記
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
エラー変わらずでした。
③WordpressにReally Simple SSLのプラグインをインストール
エラーとなり、うまくいきませんでした。現在は無効にしてあります。
④ロードバランサーのセキュリティーポリシー設定
「ELBSecurityPolicy-2016-08」以外のポリシー全てに変更してみましたが、変化ありませんでした。

Wordpress、およびネットワークに疎く申し訳ございませんが、お知恵をお貸しください。
どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

結局、当初の方法を断念し、下記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

  1. Let’s Encryptのインストール

cd 任意のディレクトリ (Let’s Encryptの展開場所)
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

  1. 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/<domain>
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/<domain>/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/<domain>/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/<domain>/chain.pem"
元の設定はコメントアウトするか削除する

  • /opt/bitnami/apache2/conf/bitnami/bitnami.confの編集

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>


↓からファイルの最終行まですべてコメントアウト
Default SSL Virtual Host configuration  

  • /opt/bitnami/apache2/conf/extra/httpd-ssl.confの編集

</VirtualHost>

Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"


これでhttps通信が有効化となる。
但し、httpからのリダイレクトが完了していない状態。

  • /opt/bitnami/apache2/conf/extra/httpd-ssl.confの編集

<VirtualHost _default_:443>
Header set Strict-Transport-Security "max-age=315360000; includeSubDomains"
※この2行を追加

  • Apacheの再起動

  sudo service httpd restart

2.WordPressのデータベース置換

【リス様】WordPressのデータベース置換プラグインといえばSearch Regex

続いて、上記でサイト内にあるデータの一括https置換を行いました。
一部ページでhttpのままだったりしましたが、ヘッダーのロゴ画像だけhttpsに置換されていなかったりしましたので、
該当の画像を設定している場所をWordpressの管理コンソールから探し、直接変更する事で解消しました。

投稿2018/03/29 09:56

編集2018/04/24 09:52
yamadatar

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

つい最近全く同じ現象になり、結局ELBを外し正しく動作しました。
ELBにACMで取得した証明書を付与しSSL対応しているかと思うのですが、結局ELBのリスナーで80番ポートが指定されているのもややこしい原因なのではないかと思い。
EC2単体にしてSSL対応はこちらの記事の通り、Let's Encryptを使って行いました。

あまりいい解決策ではないのですが、様々な方法を試してみて結果ELBを外すという選択をしました...

投稿2017/11/10 00:28

kenny_sayama

総合スコア1036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamadatar

2017/11/10 18:26

>>kenny_sayamaさん リンクの添付、ありがとうございます。 記事の情報を参考に進めてみましたが、mod_sslのインストール部分でつまづいております。 私の環境ではApache2.4.25を使用しております。 投稿されているリンク先の記事と同様に、mod24_sslのインストールとなるかと思います。 しかし、下記コマンドを実行しても何もヒットしません。 yum search mod ssl mod24_sslがヒットしないのです。 以下、検索結果です。 ============================ N/S Matched: mod, ssl ============================= globus-openssl-module.i686 : Globus Toolkit - Globus OpenSSL Module Wrapper globus-openssl-module.x86_64 : Globus Toolkit - Globus OpenSSL Module Wrapper globus-openssl-module-devel.i686 : Globus Toolkit - Globus OpenSSL Module : Wrapper Development Files globus-openssl-module-devel.x86_64 : Globus Toolkit - Globus OpenSSL Module : Wrapper Development Files globus-openssl-module-doc.noarch : Globus Toolkit - Globus OpenSSL Module : Wrapper Documentation Files perl-Net-FTPSSL.noarch : Perl module for FTP over SSL/TLS perl-Net-SSLGlue.noarch : Add/extend SSL support for common perl modules Full name and summary matches only, use "search all" for everything. 何かお分かりになりますでしょうか?
kenny_sayama

2017/11/11 09:53

ubuntuをお使いの場合は、yumが使えないからでないでしょうか? ubuntuだとapt-get installかと思うのですが、いかがでしょうか?
yamadatar

2017/11/11 14:29

>> Kenny_sayamaさん ご返信ありがとうございます。 おっしゃる通り、Ubuntuですのでyumは使用不可でした。 apt-get install ですと E: Unable to locate package mod24_ssl となってしまい、ダメでした。 そこで、yumを別途インストール、epelリポジトリを登録したのですが、 mod24_sslは見つからずにインストール出来ないという状態になります。
kenny_sayama

2017/11/13 00:24

Amazon Linuxをお使いではないということですよね? であれば、別の記事を参照した方が良さそうです。。 ubuntuではパッケージ名などが少し変わってくるなどあると思うので、以下の記事を参照してみてはいかがでしょうか? https://qiita.com/tontan9616/items/bd8b2f1f360f26c7bb46
yamadatar

2017/11/13 05:24

>>kenny_sayamaさん AWS上にあった、WordPress Certified by Bitnamiを使用しています。 最初からインストールされている、 /opt/bitnami 内のApache2を使用しております。 参照記事ありがとうございます。 なかなかうまくいきませんが、色々と試してみようと思います。
kenny_sayama

2017/11/13 14:10

Amazon Linuxで一からやってみてはどうでしょうか?
yamadatar

2017/11/15 00:57

>> kenny_sayamaさん ありがとうございます。 現在の環境で移行したかった為、今回質問させて頂きました。 最終手段としてはAmazon Linuxでhttps環境を作り、サイトデータを移行する方法を考えています。
kenny_sayama

2017/11/15 03:28

あまりお力になれず申し訳ありません...
yamadatar

2017/11/15 03:38

>> kenny_sayamaさん そんな事はありません。 教えて頂いた記事の手順などは、一からやる際に役立ちます。 こんなに早く一次回答をくれる方がいるとは思いませんでした。 ご丁寧にありがとうございます。 質問はこのままのステータスで残しておき、自分でも色々試してみます。 自己解決した場合にはステータスを更新します。
yamadatar

2018/03/29 09:44 編集

結局、当初の方法を断念致しました。 下記URLを参考にしてそれぞれ対応致しました。 1. Bitnami wordpressをLet’s Encryptを使って無料でSSL化【AWS】 https://www.moor-triangle.com/2017/02/01/%E3%80%90aws%E3%80%91bitnami-wordpress%E3%82%92lets-encrypt%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%84%A1%E6%96%99%E3%81%A7ssl%E5%8C%96/  まず、上記でhttps化を行いました。 2.【リス様】WordPressのデータベース置換プラグインといえばSearch Regex https://website-homepage.com/wordpress/plugin/manage/search-regex  続いて、上記でサイト内にあるデータの一括https置換を行いました。 以上です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問