Chuyển hướng SSL trên phiên bản EC2 đằng sau bộ cân bằng tải kết thúc SSL


11

Tôi đang cố gắng chuyển hướng tất cả các url sang https trong một ứng dụng web.

Tôi có một ví dụ ec2 đằng sau một bộ cân bằng tải đàn hồi. SSL được chấm dứt trên bộ cân bằng tải.

Mọi nỗ lực chuyển hướng cuối cùng đều mang lại cho tôi 'trang này đang yêu cầu theo cách không bao giờ hoàn thành'.

Ví dụ, bộ cân bằng tải chuyển tiếp 443 và 80 đến cổng 80.

Đây là những gì tôi có trong .htaccess của tôi.

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

Có ai có bất cứ ý tưởng làm thế nào để thực hiện điều này? Xin chân thành cảm ơn

Câu trả lời:


17

chưa được kiểm tra .. nhưng tôi thử điều này

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

http://docs.aws.amazon.com/ElasticLoadBalANCE/latest/DeveloperGuide/TerminologyandKeyCon accept.html#x-forwarded-proto


1
Đúng! Cảm ơn bạn rất nhiều. Đã đấu tranh với điều này trong một thời gian. Nhiều đánh giá cao. Xin vui lòng upvote đây là câu trả lời nếu bạn thấy đây là một sự giúp đỡ. Cảm ơn bạn ...
rix

liên kết bị hỏng
Bill Rosmus

Giải pháp vẫn hoạt động. Một số lời giải thích có thể được tìm thấy ở đây: docs.aws.amazon.com/ElasticLoadBalANCE/latest/DeveloperGuide/ Kẻ
Tim

Đã làm cho tôi. Đã thử nghiệm ngày hôm nay
Ben Sinclair

0

Câu trả lời của Mike hầu hết là đúng, nhưng điều quan trọng là chỉ ra rằng bộ cân bằng tải vẫn sẽ cần phải thực hiện thói quen kiểm tra sức khỏe của mình để đảm bảo rằng phiên bản ec2 vẫn còn sống và tốt. Điều này có thể được thực hiện với một bổ sungRewriteCond

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

... alive.htmlTên của tệp kiểm tra sức khỏe của bạn ở đâu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.