Webサーバーとしてapache2を使用して正しくインストールされたWebサイトファイルを持つec2インスタンスがあります。 ec2は、ポート80でHTTPトラフィックを受信するように設定されています(100%ではなく、ほぼ確実です)。 elbには、httpsリスナー(ポート443)とhttpリスナー(ポート80)があります。 elbは、aws docsに従ってデータを解読した後、ec2インスタンスにトラフィックを送信します。私の問題は、すべてのトラフィックをhttpsのhttpであるロードバランサにリダイレクトする方法を見つけることができないことです。Apache2がhttpsにリダイレクトされない
サイトの仮想ホストとapache2.confの両方でこの書き換えルールを使用しようとしましたが、何の影響もありません(エラーもありません)。
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
全体の仮想ホストが(/etc/apache2/sites-available/SewaneeEats.confにあります)次のようになります。
ServerName classicloadbalancer-1929710381.us-east-1.elb.amazonaws.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/SewaneeEats/public
<Directory /var/www/html/SewaneeEats>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
私も確認することができますそのモジュールの書き換えが有効になります。
私はurl sewaneeeats.comを入力すると(これらのリンクはチェックアウトする必要がある場合はライブになります)、リダイレクトするのではなく、sewaneeeats.com(sslはありません)のままです。私はSSLがhttps://www.sewaneeeats.comに取り組んでいることを知っています。 https://sewaneeeats.comで、私はクロムのURLバーに壊れたssl赤いシンボルを取得します。私はhttps://sewaneeeats.com URLに壊れている理由は、証明書がwwwサブドメインに登録されているためだと思うが、わからない。ドメインはawsのルート53コンソールを使用して設定されているので、役立つ場合はその情報を提供することができます。
私は約12時間ほどこれを把握しようとしているので、助けがあれば本当に感謝しています。 serverfault.comにこれを載せていただろうが、私が10人の担当者の下にいるときに私は質問のために2つのリンクしかないのでできなかった。
あなたの設定では、sewaneeeats.comからwww.sewaneeeats.comへのリダイレクトはどこですか? SSL証明書については、Amazonが発行した証明書を使用していることがわかります。証明書に追加ドメイン名を追加することができます。sewaneeeats.comとwww.sewaneeeats.comの両方を追加してください(新しい証明書を作成する必要があります) – at0mzk
@ at0mzk書き換えルールはサイトの仮想ホスト設定ファイルにあります。これは/etc/apache2/sites-available/SewaneeEats.confファイルです。私は証明書にドメインを追加しようとします – Daniel
@ at0mzkすべてのサブドメインと裸のドメインを追加した新しい証明書を作成しました。このヒントをありがとう! – Daniel