我是Nginx的新手,希望得到一些帮助.
我想从nginx中的浏览器cookie中提取某些数据(我的PHP脚本设置的某些字段),以便我可以记录它.如果可能的话,我想通过修改nginx配置来做到这一点.
任何指针/帮助将不胜感激.
小智 16
这是一个提取HttpOnly cookie并将其作为OAuth Bearer令牌传递给RESTful api的示例:
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/;
}
}
}
Run Code Online (Sandbox Code Playgroud)
and*_*vog 12
如果有人在响应中使用前面的答案和几个不同的cookie,那么正确的正则表达式是:
map $http_cookie $auth_header {
default "";
"~*OAuth.AccessToken=(?<token>[^;]+)" "Bearer $token";
}
Run Code Online (Sandbox Code Playgroud)
或更一般的用法:
map $http_cookie $auth_header {
default "";
"~*yourCookieName=(?<variable>[^;]+)" "the value you wanna set $variable";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50588 次 |
| 最近记录: |