Предотвратить блокировку перенаправления с https на http в сервис-воркере

Я работал над внедрением сервис-воркера, чтобы добавить некоторые преимущества кэширования на наш сайт, и все шло хорошо, за исключением одной конкретной страницы на сайте.

Эта страница связана как https://domain/path, но перенаправление на стороне сервера ищет перенаправление на http://domain/path/, и в этот момент сервисный работник блокирует запрос. При нажатии на ссылку страница выдает ошибку This webpage is not available, а консоль показывает следующее:

Mixed Content: The page at 'https://domain.com/service-worker.js' was loaded over HTTPS, but requested an insecure resource 'http://domain.com/path/'. This request has been blocked; the content must be served over HTTPS.

В идеале мы будем следить за тем, чтобы перенаправление оставалось на https, но пока эта проблема решена, есть ли способ обойти это в сервис-воркере?


person Johnboy    schedule 31.12.2015    source источник
comment
Как именно сервисный работник блокирует ваш запрос? Ваше сообщение об ошибке говорит о том, что запрос к service-worker.js не загрузился должным образом на странице http.   -  person oldergod    schedule 04.01.2016
comment
Без работника службы браузер просто следовал бы перенаправлению. Когда сервис-воркер обрабатывает выборку, перенаправление блокируется.   -  person Johnboy    schedule 05.01.2016
comment
Ошибка возникает для других файлов, кроме https://domain.com/service-worker.js?   -  person oldergod    schedule 06.01.2016


Ответы (1)


В Chrome текущая реализация не позволяет ПО смешивать контент. Chrome объясняет, почему: https://code.google.com/p/chromium/issues/detail?id=448672#c4 с указанием:

Таким образом, каждый запрос с использованием fetch() должен быть заблокирован, потому что fetch не является опционально блокируемым контекстом запроса.

Тем не менее, я поднял вопрос перед комитетом по спецификации, поскольку он, похоже, противоречит текущей спецификации. Вы можете следить за обсуждением и читать обоснование по адресу: https://github.com/slightlyoff/ServiceWorker/issues/813

person Salva    schedule 07.01.2016