Redirect SSL pada instance EC2 di belakang SSL yang menghentikan load balancer

11

Saya mencoba mengalihkan semua url ke https di aplikasi web.

Saya memiliki instance EC2 di belakang penyeimbang beban elastis. SSL diakhiri pada penyeimbang beban.

Setiap upaya pengalihan akhirnya memberi saya familiar 'halaman ini meminta dengan cara yang tidak akan pernah selesai'.

Load balancer meneruskan 443 dan 80 ke port 80 pada instance.

Ini yang saya miliki di .htaccess saya.

RewriteCond %{X-FORWARDED-PROTO} !=on  
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Adakah yang tahu cara melakukannya? Terima kasih,

rix
sumber

Jawaban:

17

belum diuji .. tapi saya coba ini

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-proto

Mike
sumber
1
Iya! Terima kasih banyak. Sudah berjuang dengan ini untuk sementara waktu sekarang. Sangat dihargai. Harap pilih jawaban ini jika Anda menemukan bantuan ini. Terima kasih ...
rix
tautannya terputus
Bill Rosmus
Solusi masih berfungsi. Beberapa penjelasan dapat ditemukan di sini: docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Tim
Bekerja untukku. Diuji hari ini
Ben Sinclair
0

Jawaban Mike sebagian besar benar, tetapi penting untuk menunjukkan bahwa penyeimbang beban masih perlu melakukan rutinitas pemeriksaan kesehatannya untuk memastikan bahwa instance EC2 masih hidup dan sehat. Ini bisa dilakukan dengan tambahanRewriteCond

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

... di mana alive.htmlnama file pemeriksaan kesehatan Anda.

Jon B
sumber