2016-11-21 3 views
0

У меня есть домен в https://example.co.uk, а другой - на https: // chat.example.co.uk, оба с использованием рабочих сервисов в производстве. При разработке на localhost я могу использовать сервисного работника в домене https://example.co.uk (на localhost: 1337), но не при использовании субдомена чата (на chat.localhost: 1337) или любых других поддоменов.Как зарегистрировать сервисного работника на субдомене localhost?

Это не проблема в живой версии, но это затрудняет разработку при работе с кодом сервисных работников.

Я пропустил что-то важное, или есть что-то, что я могу сделать, чтобы сервис-работник мог зарегистрироваться в любом случае?

Я попытался включить флаг «allow-insecure-localhost Chrome», но я не думаю, что это была проблема.

ответ

0

Как Вы заметили, только http://localhost белый список от Chrome для функций, которые требуют безопасных контекстов, а не какие-либо подобласти localhost -Какой я не думаю, вещь не перескакивая через некоторые обручи в вашей локальной настройки разрешения домена?

Чтобы облегчить локальное тестирование, я рекомендую вам поручить вашему веб-серверу прослушивать запросы на localhost на двух разных портах, например. 1337 и 1338. Вероятно, это был бы самый простой способ смоделировать два разных происхождения, которые у вас есть в производстве, с их изолированными контекстами безопасности.

Возможно, потребуется некоторое дополнительное усилие для реорганизации конфигурации, чтобы вместо того, чтобы обмениваться данными с субдоменом в вашей среде разработки, вы общаетесь с тем же доменом localhost, но с другим портом.