#javascript #cloudflare #response-headers #cloudflare-workers
Вопрос:
Я создал работника с работниками Cloudflare, чтобы добавить новый заголовок:
async function handleRequest(request) {
let response = await fetch(request.url);
response = new Response(response.body, response)
response.headers.append("Foo", "bar")
for (const element of response.headers.keys()) {
console.log(element);
}
return response
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
});
Пока игнорируйте цикл for, я использую его для регистрации заголовков.
Как видно на скриншотах, консоль регистрирует это. Однако я не вижу этого в браузере. как я должен решить эту проблему?
Комментарии:
1. Вы также убедились, что прикрепили этого работника к правильному маршруту? Я попробовал ваш код на своей стороне, и он отлично работает
Ответ №1:
Судя по заголовкам ответов, которые вы показываете на скриншоте, похоже, что заголовков Cloudflare по умолчанию нет. Возможно, вы пропустили включение прокси-сервера Cloudflare или, возможно, не подключили работника к поддомену.
В первом случае просто убедитесь, что вы включили оранжевый прокси-сервер для своего поддомена.
Для второго случая,
- Перейдите на
Workers
вкладку под своим поддоменом - Щелчок
Add route
- Установите маршрут соответствующим образом
- Выберите работника из списка
- Сохранение и тестирование
Комментарии:
1. Я развернул исправления, о которых вы упомянули, я вижу это в ответе, возвращенном в предварительном просмотре справа, но он все еще не виден через мой браузер… Это нормально?
2. Это странно, выглядит ненормально. Это должно быть довольно прямолинейно, и, как уже упоминалось, один и тот же код работает с моей стороны без каких-либо манипуляций. Вы также пробовали в окне инкогнито/без какого-либо плагина? Может быть, попробуйте использовать плагин chrome, такой как анализатор заголовков http
3. не знаю почему, но это внезапно сработало. ЛОЛ. возможно, запаздывающее обновление системы или что-то в этом роде. большое спасибо!