Safari chuyển hướng http đến (không tồn tại) https


34

Safari buộc chuyển hướng đến phiên bản https của trang web tôi đã truy cập trước đây qua https.

Tuy nhiên, trang https không còn hoạt động nữa và không có cách nào để ngăn chặn biểu mẫu Safari cố tải nó.

Chuyển hướng HTTP sang HTTPS

Đây là câu hỏi liên quan đến Diễn đàn Apple, Safari tiếp tục chuyển hướng http sang https


Có thể là HSTS đã được kích hoạt ở đâu đó trong quá khứ?
Tối đa Ried

@MaxRied Nghe có vẻ là một gợi ý hay, tôi không có cách nào biết được. Để tham khảo: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
rjstelling

Câu trả lời:


19

Nếu trước đây trang web đã thông báo cho Safari rằng nó muốn luôn được truy cập qua HTTPS thông qua HSTS ( HTTP Strict Transport Security ), thì Safari sẽ luôn cố gắng chuyển hướng đến HTTPS.

Bạn có thể xóa bộ đệm HSTS bằng cách xóa ~/Library/Cookies/HSTS.plist.

Lưu ý rằng Safari cũng lưu trữ bộ đệm chuyển hướng 301 trong một thời gian và do đó, có thể cần phải xóa bộ đệm Safari thông thường: từ menu Phát triển (bật trong Tùy chọn → Nâng cao), chọn Bộ đệm trống.


Tôi nên bắt đầu viết câu trả lời ...
Max Ried

10
@grgarside Tôi đã thử điều này nhiều lần, nó không hoạt động nữa
kushdilip

"Xóa bộ đệm Safari bình thường" - chính xác thì thế nào ??
tự đại diện

@Wildcard Tôi đã chỉnh sửa câu trả lời của mình với thông tin đó
grg

8

Kể từ tháng 12 năm 2017, Google đã thêm TLD ".dev" vào danh sách HSTS được tải sẵn cho Chrome!

Safari sử dụng cùng một danh sách. Vì vậy, Safari sẽ luôn thêm * .dev vào danh sách HSTS ...

Có vẻ nhiều nhà phát triển sẽ cần thay đổi hậu tố .dev sang hậu tố khác :(

Xem: Chrome để buộc các tên miền .dev vào HTTPS thông qua HSTS được tải sẵn


1
Điều này kích động cơn thịnh nộ của tôi. Không có TLD nên hoàn toàn có thể sở hữu. Có những thứ tuyệt vời được gọi là VPN hoặc Intranet sẽ phù hợp. (PS cơn thịnh nộ của tôi nhắm vào Google, không phải câu trả lời) :).
Volte

8

Chính sách HSTS hiện được bao gồm trong dữ liệu trang web được lưu trữ của Safari và bạn có thể xóa dữ liệu localhost để xóa vấn đề này.

  1. command + ,
  2. Quyền riêng tư -> Quản lý dữ liệu trang web ...
  3. Tìm kiếm localhost
  4. Nhấp vào Xóa

Thay đổi https://localhostđể http://localhosttrong thanh địa chỉ và nhấp chuột trở lại của bạn quan trọng.


Điều này không chỉ áp dụng cho localhost, mà còn cho bất kỳ miền nào. Lưu ý rằng để truy cập tên miền phụ , bạn phải xóa dữ liệu của tên miền mẹ . Tức là nếu bạn muốn truy cập http://some.subdomain.somehost.comvà được chuyển hướng đến https, bạn phải tìm kiếm somehost.comtại Manage Website Datatrang và xóa nó.
voiger

5

Tôi chưa tìm thấy bất kỳ giải pháp làm việc nào nhưng đối với cách giải quyết, hãy sử dụng 127.0.0.1 thay vì localhost

http://localhost/

http://127.0.0.1/

1

Có vẻ như Safari tham gia vào hành vi điên rồ này khi bạn đã truy cập localhost bằng chứng chỉ phía máy khách. Trong trường hợp của tôi, một trong những dự án tôi làm việc có nhu cầu thiết lập phía máy khách này và nó hoàn toàn phá hỏng sự phát triển cho các dự án mà tôi không thể sử dụng http trên localhost. Cách giải quyết duy nhất tôi đã tìm thấy là chỉnh sửa /etc/hostsvà thêm bí danh cho localhost, như vậy

127.0.0.1 localhost

Sau đó sử dụng Tôi có thể sử dụng http: // localhost: 3000 để truy cập dự án của mình trên cổng 3000 mà không cần Safari buộc kết nối https.

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.