🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
AWS(Amazon Web Services)

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

Q&A

解決済

3回答

12108閲覧

httpsをhttpにリダイレクトしたい

amatsuno

総合スコア54

AWS(Amazon Web Services)

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

0グッド

1クリップ

投稿2019/10/24 07:08

現在、AWS上にインスタンスが1台があります(WEB・APサーバー)

AWS上はALBがあり、ALB上にSSL証明書が設定されています。

インスタンス上(自サーバ上)ではhttpでサイトにアクセスできる状態になっています
http://awswebtest.com)

また、外部からhttp://awswebtest.comを実行した際も、インスタンス上のサイトへアクセスできる状態になっています

このサーバーに対して、外部からhttpsで接続(https://awswebtest.com)
したときにhttpにリダイレクトして接続(http://awswebtest.comで接続)させたいのですが、どのようにすればよいのでしょうか?

現在、https://awswebtest.comでは接続できない状態になっています

※そもそもhttps→httpはできないのでしょうか?

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

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

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

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

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

maisumakun

2019/10/24 07:22

どのような理由でHTTPにリダイレクトさせる必要が生じたのでしょうか。
amatsuno

2019/10/24 07:34

AWSまでの接続までの条件は、要件上httpsが必要なのですが、 インスタンス上のミドルウェアがhttpを受けのデフォルトで持っているためです。 また、SSL証明書(EV)を1つしか購入していないことも理由です (SSL証明書はALBに設定予定)  下記の考え方はあっていますか? ※SSL証明書はALBとインスタンスの2つ共に必要 ※ACMで作成する証明書はEC2には適用できない
maisumakun

2019/10/24 07:41

えっと、「リダイレクトさせる」ということは「外部からHTTPで接続できるようにする」ということですが、それは間違いないですか? (ALBでHTTPSを終端させて、AWS内部はHTTPで構築、というような構成は特に問題なく可能です)
amatsuno

2019/10/24 07:45

イメージはこのような感じです クライアントのブラウザで入力するURL → https://awswebtest.com 接続後のブラウザに表示されるURL → http://awswebtest.com yahooなどが、http://yahoo.co.jpで入力した際にhttps://yahoo,co.jpで帰ってくるのと同じイメージ (httpとhttpsが逆ですが)です (これは、接続時にhttp→httpsのリダイレクトがかかっているという認識でした)
papinianus

2019/10/24 08:33

イメージではなく上手く行かなかった設定を具体的にお示しいただけないですか?
guest

回答3

0

ベストアンサー

AWSまでの接続までの条件は、要件上httpsが必要なのですが、

インスタンス上のミドルウェアがhttpを受けのデフォルトで持っているためです。

また、SSL証明書(EV)を1つしか購入していないことも理由です

(SSL証明書はALBに設定予定) 

この条件であれば、「ALBでHTTPSを終端させて、ALB⇔EC2だけHTTP通信にする(もちろん、EC2に証明書は不要)」で解決できそうな気がします。わざわざ接続するエンドユーザーにHTTPを強いるだけの理由はないと考えます。

投稿2019/10/24 07:57

maisumakun

総合スコア145967

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

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

maisumakun

2019/10/24 07:58

AWSの内側の事情以外に、エンドユーザーからのアクセスをhttp://に変えなければならない、特殊な事情があるのでしょうか。
amatsuno

2019/10/24 08:10

転送で実施した時にうまくいかなくて(転送設定後、URLを実行しても帰ってこない)、リダイレクトが必要なのかと思って質問いたしました。 ロードバランサー → リスナー → アクションの追加 → 転送先 → http://awswebtest.com で失敗しました 転送で https://awswebtest.com → http://awswebtest.com が可能なのでしょうか?
maisumakun

2019/10/24 08:19 編集

> 転送でhttps://awswebtest.com → http://awswebtest.comが可能なのでしょうか? 転送先としてEC2を指定すれば、「ユーザー側に表示されるURLはそのままで(ユーザー~ALB間でのHTTPSもかかったまま)」EC2にHTTPで中継させることが可能です。 ユーザー側もHTTPに付き合わせる必要はあるのかないのか、そこをはっきりしてください。
amatsuno

2019/10/24 08:19

ユーザー側はhttpにつき合わせる必要はありません むしろ、↓が理想です 転送先としてEC2を指定すれば、「ユーザー側に表示されるURLはそのままで」EC2にHTTPで中継させることが可能です。
amatsuno

2019/10/27 23:18

転送設定(転送先)を目標として、route 53からの作り直しからやり直したところ、うまくできました。 ありがとうございました
guest

0

AWSまでの接続までの条件は、要件上httpsが必要なのですが、

インスタンス上のミドルウェアがhttpを受けのデフォルトで持っているためです。

それであれば、ALBではhttpsの通信を受けて、それを配下のインスタンスのhttpのポート(通常は80)に転送すれば済むと思うんですが、httpにリダイレクトしなければいけない特別な理由があるんでしょうか?

投稿2019/10/24 07:57

yu_1985

総合スコア7588

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

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

yu_1985

2019/10/24 07:59

完全に回答がかぶっちゃいましたね。すいません…。
amatsuno

2019/10/24 08:04

転送で実施した時にうまくいかなくて(転送設定後、URLを実行しても帰ってこない)、リダイレクトが必要なのかと思って質問いたしました。 転送で https://awswebtest.com → http://awswebtest.com が可能なのでしょうか?
amatsuno

2019/10/24 08:29

修正 (A・NS・SOA・CNAMEを記載・設定)
yu_1985

2019/10/24 08:33

Route53ならAliasでもOKですが、そのドメインにリクエストを送った際にちゃんとALBにアクセスするようになってますか、と聞きたかっただけです。 awswebtest.comがインスタンスのEIPと紐付いているなら、ALBになにを設定していてもALBを経由しないで直接インスタンスにアクセスしてるので意味がありません。
amatsuno

2019/10/27 23:18

転送設定(転送先)を目標として、route 53からの作り直しからやり直したところ、うまくできました。 ありがとうございました
guest

0

現在、https://awswebtest.comでは接続できない状態になっています

ということで、ALBでやるしかないのですが、

※そもそもhttps→httpはできないのでしょうか?

とのご推察の通り、HTTPSからHTTPへのリダイレクトはできません。

(docs.aws.amazon.com)Application Load Balancer のリスナー - リダイレクトアクション

プロトコル (HTTP または HTTPS)。HTTP から HTTP、HTTP から HTTPS、HTTPS から HTTPS にリダイレクトできます。HTTPS から HTTP にリダイレクトすることはできません

投稿2019/10/24 07:19

編集2019/10/24 07:20
Y.H.

総合スコア7918

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

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

amatsuno

2019/10/24 07:37

HTTPS→HTTPSリダイレクトの場合、 SSL証明書はALBとEC2の両方に必要の認識はあっていますでしょうか? ※現状は、ALBにEV-SSLを入れてHTTPリダイレクトを考慮していました
Y.H.

2019/10/24 08:02

> HTTPS→HTTPSリダイレクトの場合 ALBの裏にEC2が居るんですよね? ALBを通さずにEC2インスタンスにhttpsでアクセス可能なルートを設けているのでしょうか? Clinetからは httpsでリクエストされるだけでALB⇒EC2はhttpではだめなのですか? Client : https://www.example.com/ ⇒ ALB: http://www.example.com/ ⇒ EC2 (http でListen)
maisumakun

2019/10/24 08:03

> HTTPS→HTTPSリダイレクトの場合 別なドメインへリダイレクトさせるのですか?それですとまた話が変わってきます。
amatsuno

2019/10/27 23:18

転送設定(転送先)を目標として、route 53からの作り直しからやり直したところ、うまくできました。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問