2012-07-31 54 views
9

Cách sạch sẽ, Symfony đảm bảo HTTPS đang được sử dụng trong Symfony2 khi phía sau bộ cân bằng tải EC2 đang xử lý kết nối SSL và gửi cho bạn dưới dạng HTTP.Yêu cầu HTTPS của Symfony2 sau cân bằng tải EC2

Nếu bạn làm điều gì đó như require_channel bạn nhận được vòng lặp chuyển hướng sau khi thay đổi ban đầu thành HTTPS vì trên chính máy chủ web, bạn vẫn đang thực hiện HTTP. Tuy nhiên, url hiển thị HTTPS và Amazon cũng cung cấp tiêu đề X-FORWARDED-PROTO để sử dụng.

Có cách nào để symfony2 xử lý tình huống này không?

Trả lời

7

Bạn nên kiểm tra xem this method có phù hợp với bạn không.

Trong bạn app.php trước $kernel->handle(...); bạn nên đặt:

Request::trustProxyData(); 

UPDATE:

Bạn cũng có thể cấu hình ứng dụng của bạn trong config.yml (xem doc):

framework: 
    ... 
    trust-proxy-headers: true 
+0

Cảm ơn bạn - chính xác là như vậy! – Dave

+1

Liên quan đến UPDATE của bạn, điều này đã thay đổi vì nó cần phải là: '' 'trusted_proxies: [192.0.0.1, 10.0.0.0/8]' '' - cập nhật để sử dụng phạm vi IP CIDR của proxy. (xem [doc] hiện tại (http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)) –

+0

@MattRardon Nó có thể liên quan đến các phiên bản Symfony2 khác nhau không? –

Các vấn đề liên quan