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,

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


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.