我有以下conf。我正在尝试使用在重写规则中提取的值设置cookie。但是cookie的值始终设置为null。正则表达式有问题还是我在这里尝试做错什么。我对Apache httpd完全陌生。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)uname=(.*)
RewriteRule ^/(.*)&uname=(.*)$ /$1 [env=GRAFANA_UNAME:%2,L,PT]
RewriteCond %{HTTP_COOKIE} uname=(.*)
RewriteRule ^(.*)$ "-" [env=GRAFANA_UNAME:%1,L,PT]
RequestHeader set X-WEBAUTH-USER %{GRAFANA_UNAME}e
RequestHeader unset Authorization
ProxyRequests Off
ProxyPass "/" http://localhost:3000/
ProxyPassReverse "/" http://localhost:3000/
Header always set Set-Cookie "uname=%{GRAFANA_UNAME}e;path=/;HttpOnly"
当我执行uname =%{GRAFANA_UNAME} e时,cookie值始终设置为null。如何在响应标头中获得uname的值。
答案 0 :(得分:0)
您的规则暗示这些指令不在htaccess中,但我的假设是内部重定向仍然会在您的请求真正得到处理之前发生。
尝试访问REDIRECT_GRAFANA_UNAME。每次内部重定向发生时都会添加该前缀,以区分当前请求和先前请求的环境。