Chrom dodaje dziwne HTTPS: 1 nagłówek do wszystkich żądań

19

Otrzymuję wiele dziwnych błędów na stronach internetowych związanych z HTTPS. Te strony działają świetnie w FF i IE, ale nie ładują się w Chrome. Wygląda na to, że chociaż żądam niezabezpieczonego adresu URL (http), Google Chrome dodaje HTTPS:1do żądania dodatkowy nagłówek .

Powoduje to, że niektóre serwery, prawdopodobnie pewne, że stosowanie wyładunkowy SSL i zapewniają dzielonego hostingu, do reagowania z błędem, ponieważ nie ma SSL na serwerze.

Nie jestem przekierowany do strony zabezpieczonego (HTTPS), a wszystkie wewnętrzne adresy URL w źródle są edytowane na https.

Sprawdziłem połączenie z Skrzypek. To parsowanie nie jest wykonywane na moim komputerze, a jedyną różnicą jest ten HTTPS:1nagłówek.

Stworzyłem prostą stronę PHP, który drukuje $_SERVERzmiennej. Kiedy do niego dostęp z chromem widzę: [HTTP_HTTPS] => 1. Nie widzę tego za pomocą FireFox.

Próbowałem wyczyszczenie wszystkich danych, rozłączanie pary chrom z mojego konta google i demontażu i montażu Chrome od zera.

Ktoś ma jakiś pomysł na ten temat? Doprowadza mnie to do szału.

TwoDiv
źródło
Miałem ten sam problem na Chrome Canary, ale tylko na konkretnym miejscu, gdzie nabrać dookoła ze protokole HTTP> https przekierowania. Myślę, że ma to coś wspólnego z pamięcią podręczną przekierowania 301. Chrome nie przekierował mnie do https po całkowitym wyczyszczeniu pamięci podręcznej przeglądarki. Jednak to nie rozwiązuje problemu https nagłówka. „Rozwiązałem” to, nie używając już kanarka dla określonej strony. Dzisiaj ten sam problem zaczął się od nowa na chromie stabilnej, ALE NIE na kanarku. Chyba cache na kanarka wygasł. Nie testowałem go na jakiś czas. Wygląda zupełnie przypadkowy dla mnie. Przepraszamy za nie daje odpowiedzi. Ale ponieważ ja
Azeruel
Tak, widzę to też, wychodząc wczoraj. Doprowadza mnie do szału, too.
Kirby
Chrome jest bardzo, bardzo agresywny, jeśli chodzi o bezpieczeństwo. Google prawdopodobnie robi to w celach biznesowych: jeśli nie może zabezpieczyć dane użytkownika przed podmiotami rządowymi, użytkownicy stracą wiarę w Google bardzo szybko. Stąd, Google uważa ustanowienie siebie jako lidera w prywatność w Internecie najwyższym priorytetem, pomimo faktu, że jej model biznesowy oparty na zupełnie reklama opiera się na śledzeniu zachowania użytkownika. Użytkownicy zaufać Google za bezpieczny szafarzem swoich danych osobowych, nie wycieka na zewnątrz danych osobom trzecim, tak że nie mogą sobie pozwolić, aby zrobić coś mniej.
bwDraco - Przywróć Monikę

Odpowiedzi:

15

Najprawdopodobniej w witrynach, z którymi masz problemy, działa kod serwera, który nieprawidłowo interpretuje HTTPS: 1nagłówek żądania. Na przykład wtyczki Wordpress woocommerce, który działa na około 900.000 stron , ma buggy kod, który nieprawidłowo obsługuje ten HTTPS: 1nagłówek. Zobacz ich najnowszy dokument poprawki tutaj: https://woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

Jest podobny post na StackOverflow: /programming/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

Aby podać więcej szczegółów: Chrome wdrożył specyfikację Niebezpieczne żądania aktualizacji z Konsorcjum World Wide Web (W3C). Sekcja 3.2.1 tej specyfikacji jest polem nagłówka żądania aktualizacji niezabezpieczonego, które stwierdza

3.2.1 Upgrade-Niepewne-żądań HTTP Prośba pole nagłówka

Pole nagłówka żądania uaktualnienia-Niepewne żądania wysyła sygnał do serwera, wyrażając preferencje klienta dotyczące zaszyfrowanej i uwierzytelnionej odpowiedzi oraz że może z powodzeniem obsłużyć dyrektywę dotyczącą żądań uaktualnienia niepewnych, aby uczynić tę preferencję tak płynną, jak to możliwe zapewnić.

Ta preferencja jest reprezentowana przez następujący ANBF:

"Upgrade-niepewny-requests:" * WSP "1" * PBW

Witryny takie jak te, na których działa wtyczka WooCommerce w Wordpress, niepoprawnie przepisują wszystkie adresy URL w odpowiedzi jako https:\\linki, jeśli HTTPS: 1nagłówek został ustawiony w niezabezpieczonym żądaniu (http).

Jako użytkownik końcowy tej stronie, tylko proste prace wokół jest użycie innej przeglądarki niż Chrome, dopóki tych stronach są naprawiane

Kirby
źródło
Dzięki za szczegółową odpowiedź, widziałem, że ten kod został zaimplementowany, ale ponieważ ten problem jest specyficzny dla mojego komputera (sprawdziłem na różnych komputerach w biurze), zakładam, że istnieje sposób, aby to wyłączyć. Inne komputery nie wysyłają nagłówka HTTPS: 1, jest on specyficzny dla mojego komputera
TwoDiv
1
To nie jest specyficzne dla komputera. Zgaduję, że inni użytkownicy nie zaktualizowali jeszcze najnowszej wersji chrome
Kirby
wow, to będzie potencjalnie duży problem dla WooCommerce. Na Woo prowadzę dwie osobne witryny (bez obsługi https) i właśnie załatałem je z wydaną przez nich poprawką, ale mogę sobie wyobrazić, że wielu właścicieli sklepów narzeka na to!
lisburnite
Myślę, że to nie tylko problem WooCommerce, ale sposób, w jaki serwer odczytuje nagłówki. Na mojej pracy, używamy SSL Off-load, i używamy parametru HTTP Proto pozwolić know serwera, jeżeli żądanie przybył HTTPS. Serwer staje się proste żądanie HTTP i analizować je, jakby to był HTTPS. Zakładam, że jest to ten sam problem i jeśli konfiguracja serwera nie zezwala HTTPS, nie ma SSL lub wykorzystać różne foldery dla HTTP i HTTPS - będą upaść
TwoDiv
3
@lisburnite jesteś działających witryn handlowych, które nie są podawane za pośrednictwem protokołu HTTPS? Powinieneś dać klientom pewną ochronę i naprawić ...
Ashley
3

jej więcej niż tylko woocommerce, jego wszystkimi WordPress, który ma bzika powodując złe CSS, obrazy i itp

dodaj to u góry pliku wp-config.php, aby go usunąć

if($_SERVER['HTTP_HTTPS'] && !$_SERVER['HTTPS'])
{    unset($_SERVER['HTTP_HTTPS']);
}
Każdy
źródło
@ jakikolwiek panel administracyjny nie będzie działać.
Dhruv Kapatel
używanie go na wielu stronach, które zepsuły się wczoraj, bez problemu
Dowolny
1

Możesz spróbować tego, aby rozbroić HTTP_HTTPSnagłówek.

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    unset($_SERVER['HTTP_HTTPS']);
}
Aley
źródło