Chrome: เว็บไซต์ใช้ HSTS ข้อผิดพลาดของเครือข่าย ... หน้านี้อาจใช้งานได้ในภายหลัง


161

ฉันกำลังพัฒนากับ localhost เช้าวันนี้หลังจากที่ฉันใช้พู้ทำเล่นฉันเริ่มได้รับข้อผิดพลาดนี้กับโครเมี่ยม (ทำงานอย่างถูกต้องใน Firefox)

"คุณไม่สามารถเยี่ยมชม localhost ในขณะนี้เนื่องจากเว็บไซต์ใช้ HSTS ข้อผิดพลาดและการโจมตีเครือข่ายมักจะชั่วคราวดังนั้นหน้านี้อาจใช้งานได้ในภายหลัง" ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ localhost ทำงานในโครเมี่ยมเฉพาะเมื่อพู้ทำเล่นกำลังทำงานอยู่ ฉันแน่ใจแล้วว่าการเปลี่ยนเส้นทางของพร็อกซีที่พู้ทำเล่นได้รับการแก้ไขเมื่อพู้ทำเล่นปิดตัวลง

ฉันยังพยายามนำเข้าใบรับรองไปยังรูทที่เชื่อถือได้ของฉันและรีสตาร์ทเบราว์เซอร์ (และเครื่อง)


2
ฉันพบปัญหานี้เมื่อผู้ดูแลระบบไอทีเปลี่ยนนโยบายของพวกเขา ทุกสิ่งที่ฉันต้องทำคือเรียกใช้คำสั่ง: gpupdate / force
Jacob Phan

คำตอบ:


191

อีกวิธีหนึ่งที่รวดเร็วในเรื่องนี้คือเมื่อคุณกำลังดูหน้าจอ "การเชื่อมต่อของคุณไม่เป็นส่วนตัว":

ชนิด badidea

ประเภทthisisunsafe(ให้เครดิตกับThe Java Guyสำหรับการค้นหาวลีรหัสผ่านใหม่)

ซึ่งจะช่วยให้มีข้อยกเว้นด้านความปลอดภัยเมื่อ Chrome ไม่อนุญาตให้ตั้งค่าข้อยกเว้นผ่านการคลิกผ่านเช่นสำหรับกรณี HSTS

สิ่งนี้แนะนำสำหรับการเชื่อมต่อโลคัลและเครื่องเสมือนเครือข่ายท้องถิ่นเท่านั้น แต่มีข้อได้เปรียบในการทำงานกับ VM ที่ใช้สำหรับการพัฒนา (เช่นการเชื่อมต่อโลคัลพอร์ตที่ฟอร์เวิร์ดพอร์ต) ไม่ใช่เฉพาะการเชื่อมต่อโลคอลโฮสต์โดยตรง

หมายเหตุ: นักพัฒนา Chrome ได้เปลี่ยนข้อความรหัสผ่านนี้ในอดีตและอาจทำเช่นนั้นอีกครั้ง หากbadideaหยุดทำงานโปรดทิ้งข้อความไว้ที่นี่หากคุณเรียนรู้วลีรหัสผ่านใหม่ ฉันจะพยายามทำเช่นเดียวกัน

แก้ไข: ณ วันที่ 30 มกราคม 2018 ข้อความรหัสผ่านนี้ดูเหมือนจะไม่ทำงานอีกต่อไป

ถ้าฉันสามารถตามล่าอันใหม่ฉันจะโพสต์ไว้ที่นี่ ในระหว่างนี้ฉันจะใช้เวลาในการตั้งค่าใบรับรองที่ลงนามเองโดยใช้วิธีการที่ระบุไว้ในโพสต์สแต็คโอเวอร์โฟลว์นี้:

วิธีสร้างใบรับรองแบบลงนามด้วยตนเองด้วย openssl

แก้ไข: ตั้งแต่วันที่ 1 มีนาคม 2018 และ Chrome เวอร์ชัน 64.0.3282.186 ข้อความรหัสผ่านนี้ใช้งานได้อีกครั้งสำหรับบล็อกที่เกี่ยวข้องกับ HSTS บนไซต์. dev

แก้ไข: ตั้งแต่วันที่ 9 มีนาคม 2018 และ Chrome เวอร์ชัน 65.0.3325.146 badideaข้อความรหัสผ่านจะไม่ทำงานอีกต่อไป

แก้ไข 2: ปัญหาเกี่ยวกับใบรับรองที่ลงนามเองดูเหมือนว่าด้วยมาตรฐานความปลอดภัยที่เข้มงวดทั่วกระดานในทุกวันนี้พวกเขาทำให้เกิดข้อผิดพลาดของตนเองที่จะถูกโยน (nginx ตัวอย่างเช่นปฏิเสธที่จะโหลดใบรับรอง SSL / TLS ที่มี ใบรับรองที่ลงนามเองในห่วงโซ่อำนาจโดยค่าเริ่มต้น)

โซลูชันที่ฉันจะดำเนินการในตอนนี้คือการสลับโดเมนระดับบนสุดในไซต์พัฒนา. app และ. dev ทั้งหมดด้วย. test หรือ. localhost Chrome และ Safari จะไม่ยอมรับการเชื่อมต่อที่ไม่ปลอดภัยกับโดเมนระดับบนสุดมาตรฐานอีกต่อไป (รวมถึง. app)

รายการปัจจุบันของโดเมนระดับบนมาตรฐานสามารถพบได้ในบทความ Wikipedia นี้รวมถึงโดเมนที่ใช้งานพิเศษ:

Wikipedia: รายชื่อโดเมนระดับบนสุดของอินเทอร์เน็ต: โดเมนการใช้งานพิเศษ

โดเมนระดับบนสุดเหล่านี้ดูเหมือนจะได้รับการยกเว้นจากข้อ จำกัด https เท่านั้นใหม่:

  • .local
  • .localhost
  • .ทดสอบ
  • (โดเมนระดับบนสุดที่กำหนดเอง / ไม่ได้มาตรฐาน)

ดูคำตอบและลิงค์จากการเข้ารหัสไปที่คำถามเดิมสำหรับข้อมูลเพิ่มเติม:

คำตอบจากการเข้ารหัส


19
ไม่เคยได้ยินอะไรแบบนี้ แต่ด้วยเหตุผลบางอย่างมันใช้งานได้! ขอบคุณ!
Alexey

ความช่วยเหลืออย่างมาก! ขอบคุณมาก!
RHSmith159

ฉันไม่สามารถแม้แต่จะเชื่อว่ามันใช้งานได้ แต่มันก็เป็นเช่นนั้น ฉันไม่แน่ใจว่าฉันควรจะมีความสุขหรือโกรธว่านี่ไม่ใช่เอกสาร ฉันใช้เวลาหลายชั่วโมงในการจัดการกับอึในสภาพแวดล้อม Dev นี้
Scott Byers

7
ใช้thisisunsafeinsread badideaของ สิ่งนี้ได้ถูกเปลี่ยนเป็นเวอร์ชั่นใหม่
The Java Guy

มันใช้งานได้ +1 แต่โครเมี่ยมควรเพิ่มตัวเลือกเพื่อดำเนินการต่อกับคำเตือนแทนการปิดกั้น
5413668060

186

เมื่อคุณเยี่ยมชมhttps: // localhostก่อนหน้านี้ในบางจุดมันไม่เพียง แต่เข้าเยี่ยมชมผ่านช่องทางที่ปลอดภัย (https มากกว่า http) เท่านั้นมันยังบอกเบราว์เซอร์ของคุณโดยใช้ส่วนหัว HTTP พิเศษ: Strict-Transport-Security ) ว่าควรใช้ https สำหรับการเข้าชมในอนาคตทั้งหมดเท่านั้น

นี่คือคุณลักษณะด้านความปลอดภัยที่เว็บเซิร์ฟเวอร์สามารถใช้เพื่อป้องกันไม่ให้ผู้คนถูกลดระดับเป็น http (ไม่ว่าจะโดยเจตนาหรือโดยบุคคลที่ชั่วร้าย)

อย่างไรก็ตามถ้าคุณปิดเซิร์ฟเวอร์ https ของคุณและเพียงแค่ต้องการเรียกดู http คุณไม่สามารถทำได้ (ตามการออกแบบนั่นคือจุดสำคัญของคุณลักษณะความปลอดภัยนี้)

HSTS ยังป้องกันไม่ให้คุณยอมรับและข้ามข้อผิดพลาดของใบรับรองที่ผ่านมา

หากต้องการรีเซ็ตสิ่งนี้ดังนั้น HSTS จะไม่ถูกตั้งค่าสำหรับ localhost อีกต่อไปให้พิมพ์ดังต่อไปนี้ในแถบที่อยู่ Chrome ของคุณ:

chrome://net-internals/#hsts

คุณจะสามารถลบการตั้งค่านี้สำหรับ "localhost" ได้ที่ไหน

คุณอาจต้องการค้นหาสิ่งที่ตั้งค่าไว้เพื่อหลีกเลี่ยงปัญหานี้ในอนาคต!

โปรดทราบว่าสำหรับไซต์อื่น ๆ (เช่น www.google.com) สิ่งเหล่านี้ "โหลดไว้ล่วงหน้า" ในโค้ด Chrome และไม่สามารถลบได้ เมื่อคุณสอบถามพวกเขาที่ chrome: // net-internals / # hsts คุณจะเห็นพวกเขาอยู่ในรายการเป็นstaticรายการ HSTS

และในที่สุดก็ทราบว่า Google ได้เริ่มต้นโหลด HSTS สำหรับโดเมน. dev ทั้งหมด: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


ฉันได้รับสิ่งนี้สำหรับ gmail.com ฉันไปที่ chrome: // net-internals / # hsts และสอบถาม gmail.com พบแล้ว: static_sts_domain: gmail.com static_upgrade_mode: STRICT พยายามลบโดเมน แต่ยังคงมีปัญหาอยู่
paiego

คำตอบนี้สมเหตุสมผลสำหรับฉัน ปัญหาของฉันคือว่าฉันเปลี่ยน nameserver ของเว็บไซต์จาก wordpress (โฮสต์ wordpress) เป็นเซิร์ฟเวอร์ของฉัน (โฮสต์ด้วยตนเอง) และตอนนี้ได้รับสิ่งนี้และสันนิษฐานว่าผู้เข้าชม Chrome ทุกคนจะได้รับสิ่งนี้ มีแนวคิดใดที่จะหลีกเลี่ยงจากมันสำหรับผู้เยี่ยมชมที่ไม่มีพวกเขาลบแคช?
TomC

2
โดยทั่วไปคำตอบเดียวคือใช้ HTTPS ในอนาคตหรือหวังว่าผู้ใช้จะไม่ได้แคช HTTPS เป็นหนทางข้างหน้าและปลอดจาก LetsEncrypt คุณควรตรวจสอบด้วยว่ามีใครโหลดเว็บไซต์ของคุณไปที่รหัสเบราว์เซอร์ แต่อย่าเดาว่าคุณจะสามารถรีเซ็ตได้ด้วยตัวเอง ไม่ทราบว่า Wordpress จะเพิ่ม HSTS โดยอัตโนมัติดังนั้นจึงสงสัยว่าเกิดขึ้นได้อย่างไร
Barry Pollard

ขอบคุณ @BazzaDP - ไม่เห็นทางแก้ไข ฉันอาจต้องเปลี่ยนเนมเซิร์ฟเวอร์กลับค้นหาว่ามีอะไรในไซต์เก่าที่บังคับให้ HTTPS จากนั้นลองย้ายข้อมูลอีกครั้ง คุณไม่เพียงแค่ FTP จาก Wordpress บล็อกโฮสต์ไปยังเว็บไซต์ใหม่ซึ่งเป็นสาเหตุของปัญหานี้สำหรับฉันและเจ้าของไซต์ใหม่ไม่มีใบรับรอง SSL (แม้ว่าจะพิจารณาอย่างจริงจังในการใช้งาน)
TomC

2
ดังที่ฉันกล่าวไว้ในรายการคำตอบที่โหลดไว้ล่วงหน้า (หรือ STS แบบคงที่) ไม่สามารถลบได้เนื่องจากมีอยู่ในรหัส Chrome และไม่อยู่ในรายการที่เก็บรักษาไว้ในเครื่อง และตามคำตอบสุดท้ายของฉัน Google ได้ตัดสินใจโหลดโดเมน dev ทั้งหมดล่วงหน้า
Barry Pollard

24

คลิกที่ใดก็ได้ในหน้าต่าง chrome และพิมพ์thisisunsafe(แทนbadideaก่อนหน้านี้) ใน chrome

ข้อความรหัสผ่านนี้อาจมีการเปลี่ยนแปลงในอนาคต นี่คือแหล่งที่มา

https://chromium.googlesource.com/chromium/src/+/master/components/security_interstitials/core/browser/resources/interstitial_large.js#19

ตามบรรทัดนั้นพิมพ์window.atob('dGhpc2lzdW5zYWZl')ไปที่คอนโซลของเบราว์เซอร์ของคุณและมันจะให้ข้อความรหัสผ่านที่แท้จริงแก่คุณ

thisisunsafeคราวนี้เป็นรหัสผ่าน


19

ฉันมีปัญหานี้กับเว็บไซต์ที่ทำงานบน XAMPP พร้อมชื่อโฮสต์ส่วนตัว ไม่เป็นส่วนตัวมากนัก ทุกอย่างเป็นสิ่งdomain.devที่ Google ได้ลงทะเบียนในฐานะ gTLD ส่วนตัวและบังคับให้ HSTS อยู่ในระดับโดเมน เปลี่ยนทุกโฮสต์เสมือนเป็น.devel(eugh) รีสตาร์ท Apache และตอนนี้ก็เป็นอย่างดี


ฉันสามารถยืนยันปัญหานี้ด้วย Opera 50.0.2762.9 และการเปลี่ยนโดเมนการพัฒนาของฉันจาก.devเป็น.develแก้ไขข้อ จำกัด
Courtney Miles

5
RFC 2606ขอสงวนโดเมนระดับบนสุดบางโดเมนโดยเฉพาะเพื่อป้องกันความขัดแย้งกับการทดสอบส่วนตัว ดูเหมือนว่า.testอาจเป็นสิ่งที่ถูกต้องที่สุดในการเปลี่ยนเป็นสภาพแวดล้อมการพัฒนา
Courtney Miles

แท้จริงแล้วมันช่วยชีวิตฉันได้หลายวันหลังจากที่ไม่สามารถคิดออกได้ว่าทำไมโครเมี่ยมถึงทำแบบนั้นใน.devโดเมนของฉันที่อยู่ในพื้นที่... พระเจ้าใครจะรู้ ...
D. Petrov

จริง ๆ แล้ว. test ขอแนะนำให้ใช้ในการทดสอบรหัสที่เกี่ยวข้อง DNS ปัจจุบันหรือใหม่เท่านั้น
Alexey

ที่นี่มีการแก้ไขปัญหาของฉัน ฉันใช้ Laragon เพื่อการพัฒนาสภาพแวดล้อมของฉัน
Craig

12

ฉันเพิ่งมีปัญหาเดียวกันในขณะที่พยายามที่จะเข้าถึงโดยใช้โดเมนCloudFlare กำเนิด CA

วิธีเดียวที่ฉันพบว่าการแก้ปัญหา / หลีกเลี่ยงการ HSTS ยกเว้นใบรับรองบน Chrome (Windows สร้าง) คือการทำตามคำแนะนำสั้น ๆ ในhttps://support.opendns.com/entries/66657664

วิธีแก้ปัญหา:
เพิ่มทางลัดไปที่ Chrome ตั้งค่าสถานะ--ignore-certificate-errorsจากนั้นเปิดใหม่อีกครั้งและท่องไปยังเว็บไซต์ของคุณ

คำเตือน:
ใช้เพื่อการพัฒนาเท่านั้น

ป้อนคำอธิบายรูปภาพที่นี่


อาจลองใน Google Canary สร้างgoogle.com/chrome/browser/canary.html
Binyamin

สมมติว่าคุณไม่มีไซต์ที่ทำให้เกิดข้อผิดพลาดของใบรับรอง จากนั้นคุณจะตรวจสอบว่าโซลูชันของคุณทำงานอย่างไร ไม่ได้ช่วยที่นี่ - stackoverflow.com/questions/41902367/…
MasterJoe2

แล้วรุ่น mac ล่ะ?
Java Guy

4

ฉันเห็นว่ามีคำตอบที่เป็นประโยชน์มากมายที่นี่ แต่ถึงกระนั้นฉันเจอบทความที่มีประโยชน์และมีประโยชน์ https://www.thesslstore.com/blog/clear-hsts-settings-chrome-firefox/

ฉันพบปัญหาเดียวกันและบทความนั้นช่วยฉันในสิ่งที่เป็นและวิธีจัดการกับ HTH :-)


3

พบข้อผิดพลาดที่คล้ายกัน การรีเซ็ต chrome: // net-internals / # hsts ไม่ทำงานสำหรับฉัน ปัญหาคือว่านาฬิกา vm ของฉันเบ้หลายวัน การรีเซ็ตเวลาทำงานออกมาเพื่อแก้ไขปัญหานี้ https://support.google.com/chrome/answer/4454607?hl=en


2

ฉันพบข้อผิดพลาดเดียวกันและโหมดไม่ระบุตัวตนก็มีปัญหาเดียวกัน ฉันแก้ไขปัญหานี้โดยล้างประวัติ Chrome


2

ฉันทรมานกับปัญหานี้มานานมาก ฉันไม่สามารถเปิดเว็บไซต์อย่าง GitHub ได้ ฉันเกือบจะลองคำตอบทั้งหมดบนเว็บและไม่มีใครทำงาน พยายามติดตั้ง chrome อีกครั้ง ฉันพบวิธีแก้ปัญหานี้จากคนในเครือข่ายของเราและใช้งานได้ มีการแก้ไขในรีจิสทรีซึ่งจะแก้ไขข้อผิดพลาดนี้เป็นการถาวร

  1. กดปุ่มWindows + Rเพื่อเปิดกล่องโต้ตอบเรียกใช้
  2. ประเภท: regeditและกด Enter เพื่อเปิดรีจิสทรี
  3. ในมุมมองต้นไม้ที่คลิกซ้ายผ่านเส้นทางต่อไปนี้ HKEY_LOCAL_MACHINE> ซอฟต์แวร์> นโยบาย> Microsoft> SystemCertificate> Authroot
  4. ตอนนี้ดับเบิลคลิกที่DisableRootAutoUpdateทางด้านขวาและตั้งเป็น 0 (ศูนย์) ในกล่องโต้ตอบปรากฏ
  5. รีสตาร์ทพีซีของคุณเพื่อใช้การเปลี่ยนแปลงรีจิสทรีและคุณจะไม่ได้รับข้อผิดพลาดนี้อีกต่อไป

การแก้ปัญหาข้างต้นสำหรับ Windows 8 มันเกือบจะเหมือนกันในรุ่นที่ใหม่กว่า แต่ฉันไม่แน่ใจสำหรับรุ่นก่อนหน้าเช่น XP และ vista ดังนั้นจะต้องมีการตรวจสอบ


คุณรู้ไหมว่าตัวเลือกนี้หมายถึงอะไร?
MasterJoe2

@ testerjoe2: ไม่ครับ
Maulik Modi

1
พบกับ google-analytics.com นี้พร้อมกับโดเมน google อื่น ๆ อีกมากมาย คำตอบนี้แก้ปัญหาของฉันได้
Shawn

บทความที่support.microsoft.com/en-us/help/2813430/อธิบายการทำงานของปุ่มต่าง ๆ ที่ได้รับการแนะนำในโปรแกรมแก้ไขสำหรับ Windows Vista การตั้งค่านี้โดยเฉพาะเป็น 0 ทำให้ใบรับรองหลักที่ได้รับการอัพเดตถูกดึงโดยอัตโนมัติจาก Windows Update และติดตั้งในที่เก็บ Trusted Root Author Authorities ในสภาพแวดล้อมขององค์กรสิ่งนี้อาจถูกปิดเป็นมาตรการรักษาความปลอดภัย อย่างไรก็ตามหมายความว่าใครบางคนควรจัดการผู้ออกใบรับรองหลักที่เชื่อถือได้ในระดับองค์กร
JamieSee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.