Chrome은 모든 요청에 ​​이상한 HTTPS : 1 헤더를 추가합니다.


19

HTTPS와 관련된 웹 사이트에서 많은 이상한 오류가 발생했습니다. 이 사이트는 FF 및 IE에서 잘 작동하지만 Chrome에서는로드되지 않습니다. 보안되지 않은 URL (http)을 요청하고 있지만 Chrome HTTPS:1은 요청에 추가 헤더 를 추가하는 것으로 보입니다 .

이로 인해 서버에 SSL이 없으므로 일부 서버 (오프로드 SSL을 사용하고 공유 호스팅을 제공하는 서버)가 오류로 응답합니다.

보안 페이지 (HTTPS)로 리디렉션되지 않고 소스의 모든 내부 URL이 https로 편집되고 있습니다.

피들러와의 연결을 확인했습니다. 이 구문 분석은 내 컴퓨터에서 수행되지 않으며 유일한 차이점은이 HTTPS:1헤더입니다.

$_SERVER변수 를 인쇄하는 간단한 PHP 페이지를 만들었습니다 . 크롬으로 액세스하면 다음을 볼 수 있습니다 [HTTP_HTTPS] => 1.. FireFox에서는 볼 수 없습니다.

모든 데이터를 지우고 Google 계정에서 크롬의 페어링을 해제하고 Chrome을 처음부터 제거하고 설치하려고했습니다.

누구든지 이것에 대해 알고 있습니까? 나를 미치게한다.


크롬 카나리아에서 동일한 문제가 있었지만 http-> https 리디렉션으로 바보 같은 특정 사이트에서만 발생했습니다. 301 리디렉션 캐시와 관련이 있다고 생각합니다. 브라우저 캐시를 완전히 비운 후 Chrome에서 나를 https로 리디렉션하지 않았습니다. 그러나 https 헤더 문제는 해결되지 않습니다. 더 이상 특정 사이트에 카나리아를 사용하지 않음으로써 "해결"했습니다. 오늘날 같은 문제가 크롬 안정에서 다시 시작되었지만 더 이상 카나리아에서는 아닙니다. 카나리아의 캐시가 만료 된 것 같습니다. 한동안 테스트하지 않았습니다. 나에게 완전히 무작위로 보인다. 답변을 드리지 못해 죄송합니다. 그러나 나 이후
Azeruel

예, 어제부터 시작됩니다. 나도 미치게 했어
커비

Chrome은 보안 측면에서 매우 공격적입니다. Google은 사업상의 이유로이 작업을 수행하고있을 수 있습니다. 정부 행위자로부터 사용자 데이터를 보호 할 수없는 경우 사용자는 Google에 대한 믿음을 매우 빨리 잃게됩니다. 따라서 Google은 광고 기반 비즈니스 모델이 사용자 행동 추적에 전적으로 의존한다는 사실에도 불구하고 인터넷 개인 정보 보호의 리더로 자리 매김하는 것을 최우선으로 생각합니다. 사용자는 Google이 개인 데이터를 안전하게 보호하고 권한이없는 제 3 자에게 데이터를 유출하지 않기 때문에 더 적은 비용을 들이지 않아도됩니다.
bwDraco-복원 모니카

답변:


15

문제가있는 사이트는 HTTPS: 1요청 헤더 를 잘못 해석하는 서버 코드를 실행중인 것 같습니다 . 예를 들어 약 900,000 개의 사이트 에서 실행되는 Wordpress WooCommerce 플러그인 에는 HTTPS: 1헤더 를 잘못 처리하는 버그가있는 코드가 있습니다. 최신 패치 문서를 참조하십시오 : https://woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

StackOverflow에 비슷한 게시물이 있습니다 : /programming/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

더 자세히 설명하기 위해 : Chrome은 W3C (World Wide Web Consortium) 의 업그레이드 비보안 요청 사양을 구현했습니다 . 해당 사양의 섹션 3.2.1Upgrade-Insecure-Requests HTTP 요청 헤더 필드 입니다.

3.2.1. 업그레이드 비보안 요청 HTTP 요청 헤더 필드

Upgrade-Insecure-Requests HTTP 요청 헤더 필드는 암호화되고 인증 된 응답에 대한 클라이언트의 기본 설정을 나타내는 신호를 서버에 전송하며, 해당 기본 설정을 가능한 한 매끄럽게 만들기 위해 업그레이드 안전하지 않은 요청 지시문을 성공적으로 처리 할 수 ​​있습니다. 제공합니다.

이 기본 설정은 다음 ANBF로 표시됩니다.

"업그레이드 비보안 요청 :"* WSP "1"* WSP

헤더가 비보안 (http) 요청으로 설정된 https:\\경우 Wordpress에서 WooCommerce 플러그인을 실행하는 사이트와 같은 사이트는 응답의 모든 URL을 링크 로 잘못 다시 작성합니다 HTTPS: 1.

해당 사이트의 최종 사용자는 웹 사이트를 복구 할 때까지 Chrome 이외의 브라우저를 사용하면됩니다.


정교하게 답변 해 주셔서 감사합니다.이 코드가 구현 된 것을 보았지만이 문제는 내 컴퓨터에만 적용되므로 (사무실의 다른 컴퓨터에서 확인한)이 기능을 해제 할 수있는 방법이 있다고 가정합니다. 다른 컴퓨터는 HTTPS : 1 헤더를 보내지 않습니다. 이것은 내 컴퓨터에만 해당됩니다
TwoDiv

1
컴퓨터에만 국한되지 않습니다. 다른 사용자는 아직 최신 버전의 크롬으로 업데이트하지 않은 것 같습니다
Kirby

와우 커머스에게 큰 문제가 될 것입니다. Woo에서 두 개의 별도 (https가 활성화되지 않은) 사이트를 실행하고 릴리스 한 수정 사항으로 패치했습니다. 그러나 많은 상점 소유자가이 사이트에 대해 불평한다고 상상할 수 있습니다!
lisburnite

WooCommerce 문제 일뿐 만 아니라 서버가 헤더를 읽는 방식이라고 생각합니다. 우리는 Off-load SSL을 사용하고 HTTP-Proto 매개 변수를 사용하여 요청이 HTTPS에 도착했는지 서버에 알립니다. 서버는 간단한 HTTP 요청을 받아 HTTPS 인 것처럼 구문 분석합니다. 나는 이것이 같은 문제라고 가정하고 서버 구성에서 HTTPS를 허용하지 않거나 SSL을 사용하지 않거나 http와 https에 다른 폴더를 사용하면 충돌이 발생합니다.
TwoDiv

3
@lisburnite HTTPS를 통해 제공되지 않는 상거래 사이트를 운영하고 있습니까? 아마도 고객에게 약간의 보호를 제공하고 고쳐야합니다.
Ashley


3

그것은 단지 wocommerce뿐만 아니라 나쁜 css, 이미지 등을 유발하는 건초 더미로 가고있는 모든 wordpress입니다.

이것을 wp-config.php 상단 근처에 추가하여 제거하십시오.

if($_SERVER['HTTP_HTTPS'] && !$_SERVER['HTTPS'])
{    unset($_SERVER['HTTP_HTTPS']);
}

@이면 관리자 패널이 작동하지 않습니다.
Dhruv Kapatel

어제 침입 한 많은 웹 사이트에서 문제없이 사용
모든

1

HTTP_HTTPS헤더 를 설정 해제하기 위해 시도해 볼 수 있습니다 .

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    unset($_SERVER['HTTP_HTTPS']);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.