Sự cố SSL với Magento phía sau bộ cân bằng tải (vòng lặp 302)


11

Trước cài đặt Magento của tôi là một bộ cân bằng tải xử lý tất cả các công cụ SSL. Nếu tôi không nói với Magento rằng nó đang nhận được kết nối an toàn thì nó sẽ đi vào vòng lặp chuyển hướng 302. Giải pháp duy nhất tôi tìm thấy cho đến nay là vá chỉ mục chính như vậy (mã nằm ngay phía trên Mage::rundòng ở dưới cùng của tệp index.php):

/**
 * Prevent Magento from performing a 302 redirect loop.
 *
**/

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
        $_SERVER['HTTPS'] = 'on';
        $_SERVER['SERVER_PORT'] = 443;
    }
}

(Tôi đã thêm nội dung từ bài đăng trên blog với sự bổ sung từ một người bình luận ở đây, trong trường hợp liên kết bị chết).

Làm thế nào tôi có thể tránh để vá một tập tin cốt lõi?

Câu trả lời:


31

Nhờ một mẹo trên kênh # magento-de irc tôi đã tìm thấy một giải pháp thanh lịch hơn nhiều. Thêm các dòng này vào cuối của bạn .htaccessvà nó sẽ ổn:

# Detect the Load-Balancer-Header and set the header magento expects
SetEnvIf X-Forwarded-Proto https HTTPS=on

Tới đây để giải thích dài hơn.


DUDE. Giải pháp này đã khắc phục vấn đề của tôi !!! Cảm ơn bạn rất nhiều
kevando 04/05/2015

Tương tự ở đây, điều này đã giải quyết vấn đề của tôi.
David Tây

cũng làm việc cho tôi
Darryl

Sau khi tôi sử dụng cloudflare để sử dụng ssl miễn phí, giải pháp này đã giúp khắc phục sự cố vòng lặp vô hạn.
Damodar Bashyal

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.