Кросс доменные заголовки в настройках Varnish

Пример конфигурации для Varnish, если вы решили отдавать им CORS headers, чтобы разрешить кросс-доменные запросы.

Запросы бывают простые и сложные с точки зрения спецификации CORS, где:

  • простые запросы — это GET, POST, HEAD с заголовками из набора Accept, Accept-Language, Content-Language, Content-Type, последний со значениями application/x-www-form-urlencoded, multipart/form-data или text/plain.
  • сложные запросы — все остальные

Для простых — достаточно передать заголовок: Access-Control-Allow-Origin с указанием разрешенных доменных имен или «*» для любых доменов. Т.е. в секции vcl_deliver достаточно добавить:

Для сложных запросов следует задать дополнительные заголовки.

Access-Control-Allow-Methods — перечислить разрешенные типы запросов;
Access-Control-Allow-Headers — перечислить разрешенные заголовки запроса, дополнительно к тем, что позволены в простом случае.

Для сложных запросов браузер выполняет сначала предварительную отправку методом «OPTIONS». И если сервер подтверждает, что принимает такой запрос (сервер должен вернуть код 200 и заголовки описанные выше), то выполняется уже сам запрос (к примеру, «GET»).

Чтобы браузер не выполнял двойного запроса в следующий раз для конкретного адреса, сервер может устанавливать заголовок Access-Control-Max-Age, указывая время в секундах, в течении которого действует разрешение.

Пример заголовков:

Если запрос содержит какой то из заголовков, которых нет в списке, тогда вы увидите в консоли браузера сообщение вроде:

Access to XMLHttpRequest at ‘http://mysite.com/’ from origin ‘http://test.loc’ has been blocked by CORS policy: Request header field expires is not allowed by Access-Control-Allow-Headers in preflight response.

Мало букафф? Читайте есчо !

Удаление большого числа файлов в UNIX

Ноябрь 23, 2015 г.

Столкнулся недавно с такой проблемой - не смог файловым менеджером даже просто открыть папку с временными файлами на своём веб-сервере под UNIX. Размер, папки, т.е. сам список файлов оказался объемом в 85 мегабайт. Сколько там файлов, я даже не представляю. ...

Читать

Пароль root от mysql - где взять?

Июнь 22, 2017 г.

Чтобы посмотреть root пароль от mySQL на unix - хостинге, нужны: Достаточные права (root-доступ) Знать где смотреть :) Первое условие вам придется обеспечить самостоятельно, а со вторым - я вам помогу. Текстовый файл с паролем в открытом ...

Читать

Лишние сетевые интерфейсы в WSL Ubuntu

Февраль 5, 2025 г.

Продолжаю использовать Ubuntu (v22) на WSL 2. Не давно столкнулся с не приятным моментом. Из WSL вдруг перестала быть видимой внешняя сеть, хотя до этого ...

Читать

Докачка файла с помощью wget

Октябрь 22, 2019 г.

Веб сервера поддерживают обычно соединение в течении какого то времени. Но что делать, если нужно скачать файл, который просто не успевает закачаться за отведенное время? В Unix файл можно скачать по ссылке командой wget, вот так: [crayon-6a2bd1aa59628491555169/] ...

Читать
 

Комментарии к «Кросс доменные заголовки в настройках Varnish»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: