Подтвердить что ты не робот

Как извлечь некоторую ценность из файла cookie в nginx

Я новичок в Nginx и надеюсь получить некоторую помощь.

Я хочу извлечь определенные данные (определенные поля, установленные моими скриптами PHP) из cookie cookie в nginx, чтобы я мог его зарегистрировать. Если возможно, я хочу сделать это, только изменив конфигурацию nginx.

Приветствуется любой указатель/справка.

4b9b3361

Ответ 1

Вы можете получить доступ к значениям cookie с помощью переменной $cookie_COOKIE_NAME_GOES_HERE.

См. Документация Nginx

Ответ 2

Вот пример, чтобы извлечь файл cookie HttpOnly и передать его на RESTful api в качестве маркера OAuth Bearer:

http {

  map $http_cookie $auth_header {
    default "";
    "~*OAuth.AccessToken=(?<token>.+)" "Bearer $token";
  }

  server {
    listen                443 ssl;

    ssl_certificate       /etc/nginx/certs/nginx.crt;
    ssl_certificate_key   /etc/nginx/certs/nginx.key;

    proxy_set_header      Authorization $auth_header;

    location / {
      proxy_pass          https://rest-api-host.domain.com/;
    }

  }

}

Ответ 3

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

map $http_cookie $auth_header {
    default "";
    "~*OAuth.AccessToken=(?<token>[^;]+)" "Bearer $token";
  }

или более общее использование:

map $http_cookie $auth_header {
    default "";
    "~*yourCookieName=(?<variable>[^;]+)" "the value you wanna set $variable";
  }