2017-08-14 11 views
1

最近、AWSのワードプレスサイトにSSLをインストールしましたが、私の名前付きドメインは機能しなくなりました。SSL上の裸のドメインからのリダイレクトに失敗しました

https:// example.com、https:// www.example.com、www.example.comはすべて期待どおりに動作しています。

example.comは機能していません。 example.comは接続拒否エラーをスローします。

セットアップ:

  • Wordpressのホスティングは、単一のAWS EC2上ではbitnami AMIを離して設置しました。 EC2は、従来のロードバランサの背後にあります。
  • SSL証明書はAWS証明書マネージャーで管理され、* .example.com、example.com、およびwww.example.comに発行されました
  • DNSはルート53を使用します:www.doamin.comとdomain.comはAレコード同じロードバランサの別名に、その点
  • .htaccesはするRewriteRule ^に変更されました(。*)$ https://example.com/ $ 1 [R、L]

私はこの作業を取得するために何をしますか?

+0

http://www.example.comが動作していることを確認してください...別のブラウザと 'telnet www.example.com 80'を試してみてください。表示される正確なエラーメッセージとは何ですか? –

+0

あなたの権利は、どちらも安全ではありません.C:\> telnet www.example.com 80 www.example.comへの接続...ホストへの接続をポート80で開けませんでした:接続に失敗しました。 – tjrburgess

+0

私の書き換えルールは次のとおりです(。*)://あなたのドメイン/ $ 1 [R、L] – tjrburgess

答えて

1

HTTPSが機能するため、問題はDNSではありません。ロードバランサについて言及します。 Connection Refusedエラーは、要求がロードバランサに送信されていないか、ロードバランサによって受け入れられていないことを示します。

ロードバランサのセキュリティグループを確認し、port 80 inboundが許可されていることを確認します。

ロードバランサにはlistener on port 80があることを確認してください。

ロードバランサのパブリックサブネットでNACL(ネットワークアクセス制御リスト)を変更した場合は、80 inbound and everything outboundを許可する必要があります。デフォルトのNACLルールではすでにこれが許可されています。

(ACM証明書を使用しているため)ロードバランサでSSLを終了することに注意してください。設定によっては、ポート80で暗号化されていないリクエストをWebサーバーに転送している可能性があります。その場合は、書き換えルールによってHTTPSの使用が正しく検出されません。これをより詳細に説明するAWS has some documentation

+0

あなたの右 するRewriteCondの%{SERVER_PORT} 443 のRewriteRule^$ HTTPSの<のIfModule mod_rewrite.c> RewriteEngine。それはリスナーの問題でした。ロードバランサのリスナーにHTTPポート80を追加することでそれが修正されました。 – tjrburgess

関連する問題