Перенаправлення Safari http на (неіснуючі) https


32

Safari вимагає переспрямування на https-версію сайту, який я раніше відвідував через https.

Однак веб-сайт https більше не працює, і немає ніякого способу запобігти спробі Safari завантажити його.

HTTP перенаправляє на HTTPS

Ось відповідне питання Apple Форумів, Safari продовжує перенаправляти http на https


Чи можливо, що HSTS було ввімкнено десь у минулому?
Макс Рійд

@MaxRied Це звучить як гарна пропозиція, я не можу знати. Довідково: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
rjstelling

Відповіді:


18

Якщо сайт раніше вказував Safari, що він хоче завжди отримувати доступ до HTTPS через HSTS ( сувора безпека транспортної безпеки HTTP ), то Safari завжди намагатиметься перенаправити на HTTPS.

Ви можете очистити кеш-пам'ять HSTS, видаливши ~/Library/Cookies/HSTS.plist.

Зауважте, що Safari також кешує переспрямування 301 на деякий час, і, таким чином, очищення звичайного кешу Safari також може знадобитися: у меню "Розвиток" (увімкніть "Налаштування" → "Додатково") виберіть Порожні кеші.


Я повинен почати писати відповіді ...
Макс Рід

9
@grgarside Я пробував це кілька разів, це вже не працює
kushdilip

"Очищення звичайного кешу Safari" - як, саме ??
Wildcard

@Wildcard Я відредагував свою відповідь на цю інформацію
гр

8

З грудня 2017 року Google додав ".dev" TLD до попередньо завантаженого списку HSTS для Chrome!

Сафарі використовує той самий список. Тож Safari завжди додаватиме * .dev до списку HSTS ...

Здається, багатьом розробникам потрібно буде змінити суфікс .dev на інший :(

Див.: Chrome примушує домени .dev до HTTPS через попередньо завантажені HSTS


1
Це підбурює мою лють. Жоден TLD не повинен бути повністю власником. Є чудові речі, які називаються VPN або Intranets, які були б доречними. (PS моя лють спрямована на Google, а не на відповідь) :).
Volte

5

Я не знайшов жодного робочого рішення, але для вирішення способу використання 127.0.0.1 замість localhost

http://localhost/

http://127.0.0.1/

5

Політика HSTS тепер включена до збережених даних веб-сайту Safari, і ви можете видалити локальні дані, щоб усунути цю проблему.

  1. command + ,
  2. Конфіденційність -> Керування даними веб-сайтів ...
  3. Пошук localhost
  4. Натисніть Видалити

Зміна https://localhostдо http://localhostсторінки в адресному рядку і натисніть клавішу повернення.


1

Здається, Safari впадає в цю шалену поведінку, коли ви зверталися до localhost за допомогою клієнтського сертифіката. У моєму випадку один із проектів, з якими я працюю, потребує цього налаштування на стороні клієнта, і він повністю руйнує розробку для проектів, де я не можу використовувати http на localhost. Єдине вирішення, яке я знайшов, - це редагувати /etc/hostsта додавати псевдонім для localhost, як-от так

127.0.0.1 localhost

Тоді за допомогою я можу використовувати http: // localhost: 3000 для доступу до мого проекту на порт 3000 без Safari примусового з'єднання https.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.