Phiên bản Chrome 44.0.2403,89 m đang cố gắng ép buộc HTTPS


7

Với việc phát hành Chrome Phiên bản 44.0.2403,89 m, tôi nhận thấy rằng trang web của chúng tôi hiện đã bị hỏng hoàn toàn. Tất cả các URL HTTP đang được chuyển hướng đến các URL HTTPS, đây là một vấn đề vì trang web của chúng tôi không hỗ trợ HTTPS.

Xin lưu ý, điều này không xảy ra trong bất kỳ trình duyệt nào khác và đang hoạt động trên phiên bản Chrome trước đó.

Tôi đã cố gắng thay thế tất cả các cuộc gọi biểu định kiểu của chúng tôi bằng các liên kết tương đối và điều đó đã hoạt động, nhưng hình ảnh được tải tự động hoặc qua các đường dẫn tuyệt đối cũng như điều hướng vẫn bị hỏng. Vui lòng xem hình ảnh bên dưới để biết trang lỗi được ném khi điều hướng, sau khi chấp nhận cảnh báo bảo mật và tiến hành.

Lỗi ném khi điều hướng đến một trang.

Bất cứ ai có lời khuyên nào khi cập nhật có lẽ tệp .htaccess đi, hoặc một cái gì đó trong các chức năng?

Cảm ơn.


Đây là một lỗi trong Chrome hoặc trong Wooc Commerce hoặc Apache , không phải trong WordPress. Chờ một bản cập nhật.
fuxia

@toscho Tôi đã hy vọng rằng đó là trường hợp, sau khi lướt qua các diễn đàn trong một giờ hoặc lâu hơn, cảm ơn.
Harry Ray

Chrome đã thay đổi để phù hợp với lỗi WooC Commerce. Nếu bạn lo lắng về các trang web WooC Commerce cũ và người dùng không cập nhật Chrome, SSL Fixer Content Content Fixer đã tích hợp một bản sửa lỗi.
web biết

Câu trả lời:


6

Giải pháp 1: Kích hoạt mod_header trên máy chủ và thêm quy tắc này vào tệp appache2.conf của tôi:

<IfModule mod_headers.c>
  RequestHeader unset HTTPS
</IfModule>

Giải pháp 2: Hoặc bạn cần thêm mã vào tệp fonction.php của chủ đề hiện tại của bạn:

function https_chrome44fix() {
  $_SERVER['HTTPS'] = false;
}
add_action('init', 'https_chrome44fix',0); 

Nhiều nghĩa vụ, @Stepan! Sửa lỗi Hàm.php của bạn dường như đã thực hiện thủ thuật!
Harry Ray

Giải pháp 1 tốt cho Apache. Giải pháp 2 không tốt cho bất kỳ trang web nào thực sự hỗ trợ HTTPS.
web biết

5

Đây dường như là một lỗi chỉ ảnh hưởng đến Apache đang gửi giá trị người dùng cho tiêu đề HTTPSdưới dạng tiêu đề chưa được chỉnh sửa HTTPSthay vì HTTP_HTTPS.

Bạn sẽ có thể khắc phục điều đó bằng một plugin đơn giản :

if ( empty ( $_SERVER['SERVER_SOFTWARE'] ) )
    return;

if ( FALSE === stristr( $_SERVER['SERVER_SOFTWARE'], 'apache' ) )
    return;

if ( empty ( $_SERVER['HTTPS'] ) )
    return;

if ( '1' === $_SERVER['HTTPS'] )
    $_SERVER['HTTPS'] = FALSE;

if ( '1' === $_SERVER['HTTP_HTTPS'] )
    $_SERVER['HTTP_HTTPS'] = FALSE;

Thử nghiệm cuối cùng thứ hai sẽ ngăn một số cấu hình máy chủ kiểm tra chính xác is_ssl(). Không cần thiết, vì tiêu đề Google Chrome sẽ chỉ xuất hiện dưới dạng HTTP_HTTPS. Câu trả lời Siêu người dùng này có nhiều chi tiết hơn về vấn đề này. Google Chrome không còn gửi tiêu đề đó (trên các phiên bản cập nhật).
web biết

@webwar Trong trường hợp đó bạn sẽ không cần plugin, phải không?
fuxia

Ai đó tự hỏi tại sao các trang không phải HTTPS của họ đang tải tài nguyên HTTPS có thể cài đặt plugin của bạn và phá vỡ các trang HTTPS của họ :)
web biết

2
@webwar Tốt! Sau đó, họ học được một bài học quan trọng: Không bao giờ cài đặt mã mà bạn không hiểu.
fuxia

2

WooC Commerce đã phát hành bản cập nhật khắc phục sự cố này (ít nhất là đối với tôi)

Khắc phục - Đã sửa lỗi Google Chrome buộc phải sử dụng SSL. Điều này có thể gây ra một số vấn đề trên các trang web đằng sau bộ cân bằng tải hoặc proxy ngược. Đọc thêm.

Ghi chú chi tiết tại bài đăng trên blog của họ hoặc trong GitHub .

Đảm bảo làm mới các plugin lưu đệm của bạn sau khi cập nhật, nếu bạn đang sử dụng một plugin.



-1

Bạn cần thêm mã vào tệp fonction.php của chủ đề hiện tại của bạn:

if (!is_ssl()) {
 $_SERVER['HTTPS'] = false;
}

-1 - is_ssl()sẽ đúng nếu $_SERVER['HTTPS']là 'trên' hoặc '1'.
web biết
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.