How to extract some value from cookie in nginx

后端 未结 3 1827
一向
一向 2021-02-02 06:28

I am new to Nginx and hope to get some help.

I want to extract certain data (certain fields set by my PHP scripts) from browser cookie in nginx so that I can log it. If

相关标签:
3条回答
  • 2021-02-02 06:51

    You can access cookie values by using the $cookie_COOKIE_NAME_GOES_HERE variable.

    See Nginx Documentation

    0 讨论(0)
  • 2021-02-02 07:03

    If anyone is using the previous answer with several different cookies in the response the correct regex is:

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

    or more general usage:

    map $http_cookie $auth_header {
        default "";
        "~*yourCookieName=(?<variable>[^;]+)" "the value you wanna set $variable";
      }
    
    0 讨论(0)
  • 2021-02-02 07:10

    Here's an example to extract an HttpOnly cookie and pass it on to a RESTful api as an OAuth Bearer token:

    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/;
        }
    
      }
    
    }
    
    0 讨论(0)
提交回复
热议问题