むらじゅん風呂具

ITエンジニアとたまに歌手と司会などで活動する村中淳のブログ

【AWS】オレオレ証明書の作成とELBにhttps通信を導入する

昨日からの延長戦。
オレオレ証明書を使ってELBにhttps通信を導入する。

f:id:pj124183:20200103105037p:plain

オレオレ証明書の作成

サーバにログインして、opensslコマンドにてまずは秘密鍵を作成する

$ openssl genrsa -out ./server.key 2048

genrsa ・・・RSA秘密鍵を生成するオプション

次にCSRを作成。Common Name名には対象のELB DNS名を指定する

$ openssl req -new -key ./server.key -out ./server.csr

自己証明書に署名を行いCRTを作成する

$ openssl x509 -in server.csr -days 365 -req -signkey server.key -out server.crt

x509・・・X.509証明書の署名要求(CSR)の作成
-days・・・X.509形式の証明書の有効期限をn日とする(コマンドでは365日)

以下、3つのものが作成完了。

・ELBにてhttps通信を導入

AWSマネジメントコンソール > EC2 > ロードバランサーから、
該当のELBを選択、画面下の[リスナー]タブから[リスナーの追加]

次画面にて、以下の設定を実施

プロトコル:ポート
HTTPS 443

・デフォルトアクション
転送先
ターゲットグループを選択

セキュリティポリシー
デフォルトのまま

・デフォルトのSSL証明書
プルダウンから[インポート]を選択

・インポート先
ACMを選択

・証明書のプライベートキー
作成したserver.keyの内容を貼り付ける

・証明書本文
作成したserver.crtの内容を貼り付ける

・証明書チェーン
いわゆる中間証明書
今回の場合は不要

すべて設定後、[保存]

・ELBのセキュリティグループにHTTPS通信の許可を入れる

AWSマネジメントコンソール > EC2 > セキュリティグループ

該当グループの[インバウンド]タブから、[編集]
HTTPSの通信設定を入れて保存

f:id:pj124183:20200103112213p:plain

WordpressSSL通信の設定を入れる

Wordpress側は、ダッシュボードからプラグイン > 新規追加
"SSL Insecure Content Fixer"と入力

出てきたものをインストール、有効化すればok

f:id:pj124183:20200103112749p:plain

サファリでページ開いてみる

https通信できているものの、画面の体裁がおかしい・・・

f:id:pj124183:20200103113148p:plain

あとで調べますか・・・。
https通信ができているのでいったんはよし。

ありがとうございました。