2017-08-13 64 views
0

我在AWS Elastic Beanstalk上有一個Web應用程序,並且SSL正在運行,但我需要確保所有通信都是HTTPS。我認爲與我們現有的規則或負載平衡器存在衝突。以下是我們的.htaccess文件中的規則: RewriteEngine敘述在使用其他mod_rewrite規則將HTTP重定向到AWS Elastic Beanstalk負載均衡器上的HTTPS

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index 
RewriteCond %{REQUEST_URI} !uploads 
RewriteCond %{REQUEST_URI} !.*\.(css¦js|html|png|xml|mp3|m4a) 
RewriteRule (.*) index.php [L] 

RedirectMatch 301 ^/uploads/users/avatar/$ /images/default-user.jpg 

RewriteCond %{REQUEST_URI} uploads 
RewriteRule ^uploads/(.*)/(.*)/(.*)$ /api/index.php/media/load?fileKey=$3 [QSA,L] 

#force https 
#RewriteCond %{HTTP:X-Forwarded-Proto} =http 
#RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent] 

的HTTP部分被註釋掉。誰能幫我這個?

回答

-1

嘗試以下操作:

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

我試了一下。它再次給了我ERR_TOO_MANY_REDIRECTS的事情 – SMayne

+0

您提出的規則是唯一的規則嗎? –

+0

是的,但這是一個運行在後端的服務器和AWS負載平衡器。被註釋掉的版本是推薦的解決方案。 – SMayne

相關問題