hereの前にクエリを作成しました。私はそれが働いていると考えましたが、実際にはまだありません。AWSのELBでHttpからHttpsへのリダイレクト
ロードバランサはインターネットに面しており、背後にはEc2インスタンスがあります。 > 80と443 - - マイロードバランサはポート80とポート443
彼らは80として配置されているに開放されている> 80
は、今私がhttpsへのHTTPアクセスをリダイレクトする必要があります。
私がしたことは です。私は.htaccessファイルを作成し、/ var/www/html /にあります。それは私のウェブサイトのindex.phpが置かれているフォルダです。
.htaccessファイル内で、インターネットで見つかったものをいくつか試しました。彼らのどれも働かなかった。
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
</VirtualHost>
<VirtualHost *:80>
RewriteEngine on
RewriteCond %{HTTP_HOST} www.(.+) [OR,NC] # Added
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule ^/?(.*) https://domainname.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
セットアップ時に機能しないのはなぜですか?
EDIT:
<If "req('X-Forwarded-Proto') != 'https'>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
</If>
AWBからの返信を手がかりにしたのは、ELBがX-Forwarded-Protoを使用してリダイレクト情報を挿入するということだけです。したがって、リダイレクトの実際の実装は、インスタンスのApacheで行われる必要があります。私はどのように把握する必要があります。 – batuman
Phabricatorについても同様の問題が解決されました。 https://stackoverflow.com/a/48149369/7098257 –