@acc4all

Nginx proxy. Возможно ли извлечение заголовков 'Content-Type' ответа?

Нужно получить значение 'Content-Type'. Возможно ли средствами nginx извлечь заголовки из проксируемого ответа? По аналогии с $content_type запроса. Например,
server {
  listen 8080;
  location / {
    proxy_pass https://example.com;

    ...
    # извлечение 'Content-Type'
    ...

    if ($extracted_content_type ~* "text/html") {
      ...
    }
  }
}
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
Aco
@Aco
Заклинатель кода
По факту при запуске proxy_pass уже ничего не остановит NGINX от проксирования и, как следствие, прочитать что он там спроксировал тяжело. Тем не менее это возможно, но с оговорками.
Если надо прямо упороться и сделать ловлю Content-Type то придётся кастомизировать nginx. а точнее влепить ngx_lua модуль (обязательно на базе luajit) в миру именуется как OpenResty (есть готовые сборки nginx + lua),
После этого можно будет добавить директиву header_filter_by_lua_block которая и позволит ловить и менять проксируемые заголовки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы