РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcTrMwHd 25 of 28 menu
◀ ▶

Заголовки ответа в Docker

Заголовки ответа дописывают к странице поле, которого не было у самого сайта. Контейнер nginx отдаёт тело как обычно, а прокси перед отправкой в браузер добавляет имя и значение из метки посредника. Так задают защиту от встраивания во фрейм и другие политики без правки образа сайта.

Посредник sec ставит X-Frame-Options в значение DENY. Роутер на site.localhost ведёт на nginx с цепочкой middlewares=sec. Полное описание проекта:

services: proxy: image: traefik:3 command: - --providers.docker=true - --providers.docker.exposedbydefault=false - --entrypoints.web.address=:80 ports: - "80:80" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro nginx: image: nginx labels: - traefik.enable=true - traefik.http.middlewares.sec.headers.customresponseheaders.X-Frame-Options=DENY - traefik.http.routers.web.rule=Host(`site.localhost`) - traefik.http.routers.web.middlewares=sec

Запуск в фоне:

docker compose up -d

Стартовая страница nginx открывается по http://site.localhost. В ответе браузера видно поле X-Frame-Options со значением DENY, хотя сам nginx его не задавал.

Опишите сервис page на nginx с хостом page.localhost, посредником frame и тем же заголовком X-Frame-Options в полном файле с прокси.

Откройте http://page.localhost и проверьте в инструментах разработчика, что заголовок X-Frame-Options присутствует в ответе.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить