Пытаюсь передать Ref (f) erer через 301 перенаправление из домена HTTPSA в домен HTTPSB, используя работников cloudflare.
1) Пользователь вводит https://domainA.com в поле адреса браузера, такие заголовки запроса отправляются на сервер:
Этот запрос затем обрабатывается таким работником Cloudflare:
<...>
return new Response("Will Redirect", {
status: 302,
statusText: 'Found',
headers: {
Location: "https://domainB.com",
"Referrer-Policy": "unsafe-url"
}
})
<...>
Этот код генерирует такой HTTP-ответ:
Казалось бы, "пока все хорошо" - заголовок политики реферера установлен и появляется, но до заголовков Запрос / Ответ Chrome отображает часть общего текста по тому же запросу:
Как я понимаю, ^ - это краткое изложение комбинации запрос / ответ. Где эта Политика Реферера: линия "нет ссылки на переход"? Это параметр запроса Chrome по умолчанию или Chrome добавляет его в ответ по умолчанию? Или, может быть, это некоторые настройки по умолчанию в Cloudflare? Я полагаю, что это одна из потенциальных причин, по которым я не могу передать Referrer.
Затем перенаправление 302 загружает домен B, и этот запрос обрабатывается вторым работником:
<...>
let refr = request.headers.get('Referer')
let resp = new Response(`Testing referer: ${refr}`)
resp.headers.set('Referrer-Policy', 'unsafe-url')
return resp
<...>
Второй запрос / ответ выглядит следующим образом:
Но ответ от домена B выглядит следующим образом:
Хотя я ожидаю увидеть реферера Testinf: domainA.com. Как бы я этого достиг?
Спасибо!