Приветствую.
Подключил ServiceWorker к сайту, всё работает, но при кэшировании редиректов, URl редиректа приходит в неправильной кодировке (ISO-8859-1), хотя в конфигах nginx указана utf-8, файл sw.js в кодировке utf-8, в HTML коде мета тег charset=utf-8. При запросе через CURL приходит корректный URL для редиректа и при отключении sw.js всё ок, проблема только с ServiceWorker.
Запрос от сервис воркера:
Request URL: https://glosum.ru/?q=%D1%85%D0%B0%D0%B9%D0%BF&x=0&y=0
Request Method: GET
Status Code: 302 (from ServiceWorker)
Referrer Policy: no-referrer-when-downgrade
Ответ сервера:
content-type: text/html; charset=utf-8
date: Tue, 15 Oct 2019 06:28:29 GMT
location: /ÐоиÑк-Ñлова-Хайп
server: nginx
status: 302
А вот если делать курлом:
curl -v https://glosum.ru/?q=%D1%85%D0%B0%D0%B9%D0%BF&x=0&y=0
Ответ:
> GET /?q=%D1%85%D0%B0%D0%B9%D0%BF HTTP/2
> Host: glosum.ru
> User-Agent: curl/7.64.0
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 302
< server: nginx
< date: Tue, 15 Oct 2019 06:30:30 GMT
< content-type: text/html; charset=utf-8
< location: /Поиск-слова-Хайп
Собственно, подскажите пожалуйста, откуда эта кодировка береться и как её победить?