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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

AWS(Amazon Web Services)

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

Q&A

解決済

3回答

13650閲覧

【AWS】EC2のSSL化ができません。

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

AWS(Amazon Web Services)

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

0グッド

2クリップ

投稿2017/06/27 13:17

編集2017/06/27 23:00

いつもお世話になっております。
この度はAWSのSSL化についてです。

AWSにて http://example.com といったドメインを持つインスタンスを作成しました。
実際、アクセスができている状況です。

しかし、ACMにて証明書を取得し、設定に https://example.com にアクセスすると、
『example.com でアクセスが拒否されました』と表示されてしまいアクセスすることができません。

様々な設定を試したのですが、解決に至ることができませんでした。
ご存知の方いらっしゃいましたらお力添え願えますでしょうか...。

AWS

AWSのコンソール(管理画面)ではそれぞれ下記のとおりに設定いたしました。

証明書

AWS Certificate Manager (ACM)を利用して証明書を発行しました。
状況「発行済み」となっていること、有効期限が切れていないことを確認済みです。

インスタンス

EC2にてインスタンスを作成しました。
タイプは『t2.micro』(Linux)になります。
Elastic IPは設定済みで、IPアドレスが変わらないことを確認済みです。

ロードバランサー

ロードバランサーは下記のように設定しました。

LBプロトコルLBポートインスタンスのプロトコルインスタンスのポート
HTTP80HTTP80
HTTPS443HTTP80

DNS

Route53にて、独自のドメインを割り当てました。

NameTypeValue
example.comA作成したロードバランサーへのエイリアス
*.example.comAレコード「example.com」へのエイリアス

Apache

Terminal から接続し、下記のようにインストールしました。
また、インスタンス接続後にyumアップデートまでは済ませました。

Linux

1sudo yum install httpd

もちろん起動し、上述のとおりHTTPであればアクセスすることができています。

また、以下のコマンドにてポートを確認してみたのですが、
『443』という数字が存在しないのです...。

netstat -antu

AWSのマニュアル通りに設定を進めたにも関わらず、目標に辿り着けず困惑しています。
設定についてご不明な点がございましたらぜひお願いいたします。

以上、どうぞよろしくお願いいたします。


6/28 08:00追記

上記状態から変更せず時間を空けたところ、HTTP・HTTPSともに503エラーが表示される状態に変わりました。
IPアドレスではHTTPのみアクセスできる状況です。
HTTPS://(IPアドレス) では接続が拒否されます。

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

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

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

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

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

guest

回答3

0

ベストアンサー

自己解決しました...。

ロードバランサーの『ヘルスチェック』のターゲットを443に変更、さらに80に戻すと、アクセスできるようになりました...。

理由とかは全然わからないのですが、わかる方いらっしゃいましたら教えていただけませんでしょうか...。

TaichiYanagiya様、 madone99様、ご回答ありがとうございました。

投稿2017/06/28 05:36

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

moonphase

2017/06/28 08:40

ELB作成時に原因不明でヘルスチェックが通らない事象が発生した経験が何度もあります。その時はインスタンスの登録解除、再登録で事象が解決しています。 これと似たような状況なんでしょうかね。
退会済みユーザー

退会済みユーザー

2017/07/01 10:08

moonphase様 そのような事象もあるのですね。参考になります。
guest

0

ACMはALBなど特定サービスのみの使用ではないでしょうか。

https://aws.amazon.com/jp/certificate-manager/faqs/

投稿2017/06/27 13:43

madone99

総合スコア1855

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

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

退会済みユーザー

退会済みユーザー

2017/06/27 14:03

madone99様 ご回答ありがとうございます。 仰る通り、以下の4つが連携できるとのことでした。 1. Elastic Load Balancing 2. Amazon CloudFront 3. Amazon API Gateway 4. AWS Elastic Beanstalk (古い記事ではあるのですが)以下の記事などではHTTPSでのアクセスまで出来ているようなのですが、 これらとはまた違うのでしょうか...? http://dev.classmethod.jp/cloud/aws/acm-available-in-tokyo/ http://qiita.com/masch/items/a5ef84998fb7784f9115
madone99

2017/06/27 14:17

ご提示のURLでも証明書を適用しているのはELBのようですね。ec2でSSLにしたいということであればlets encryptを利用されてはいかがですか?
退会済みユーザー

退会済みユーザー

2017/06/28 05:27

madone99様 代替案のご提案ありがとうございました。 そちらのサービスにつきましても覚えておきます。 ありがとうございました。
guest

0

example.com の名前解決が ELB のアドレスで、http://example.com/ はアクセスでき、https://example.com/ がアクセス拒否されるということですと、ELB のセキュリティグループで TCP 443 番ポートが許可されていないのではないでしょうか?
証明書の問題の可能性もありますが、まずは、ELB のセキュリティグループを確認ください。

なお、SSL/TLS の終端は ELB ですので、EC2 側は 80 番ポートのみ LISTEN でいいです。


(2017/06/28 00:24) 追記
すみません、セキュリティグループで許可されていない場合は「タイムアウト」になりました。
「拒否されました」ということは、セキュリティグループではなく、別の原因だと思います。

nslookup, dig コマンドなどで example.com の名前解決を試みると、ELB の IPアドレスが返ってくるでしょうか。
キャッシュが残っていて、EC2 の IPアドレスになっていると、EC2 の 443 番ポートに接続しようと試み、拒否されるというシナリオが考えられます。

また、curl コマンドが使用できるのならば、以下を試してみて結果を教えてくださいませんでしょうか。

curl -k https://(ELBのIPアドレス)/ →OK curl -k https://(EC2のIPアドレス)/ →Connection refused curl -k https://(example.comのIPアドレス)/ →? curl https://example.com/ →?

投稿2017/06/27 14:13

編集2017/06/27 15:25
TaichiYanagiya

総合スコア12141

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

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

退会済みユーザー

退会済みユーザー

2017/06/27 14:20

TaichiYanagiya様 ご回答ありがとうございます。 ELBでは下記の通りに設定しております。 ①ELB:HTTP・80 → インスタンス:HTTP・80 ②ELB:HTTPS・443(SSL証明書は指定済) → インスタンス:HTTP・80 この設定では誤っていますでしょうか...?
退会済みユーザー

退会済みユーザー

2017/06/27 14:36

TaichiYanagiya様 再度のご教授ありがとうございます。 セキュリティグループでは80、443、22が許可されている状態です。 分かりづらくてすみません。
退会済みユーザー

退会済みユーザー

2017/06/27 22:56

TaichiYanagiya様 ご確認ありがとうございます。 ``` curl -k https://(ELBのIPアドレス)/ →OK ``` こちらは何も起きませんでした。 ``` curl -k https://(EC2のIPアドレス)/ →Connection refused ``` こちら「接続を拒否されました」とのことです。 ``` curl -k https://(example.comのIPアドレス)/ →? ``` こちらも何も起きませんでした。 ``` curl https://example.com/ →? ``` こちらも何も起きませんでした。 何か参考になると幸いです。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2017/06/28 05:33

TaichiYanagiya様 親切丁寧なご回答・ご確認ありがとうございました。 無事解決に至りました...。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問