Apache ProxyPassReverseCokieDomain动态变量

Apache ProxyPassReverseCokieDomain动态变量,apache,cookies,Apache,Cookies,我需要从域B中使用一些位于域A中的RESTAPI。 登录服务负责设置cookie。使用代理,我可以从B访问域a,没有问题 不幸的是,检查响应头时,cookie域被设置为服务所在的A,因此浏览器不会将cookie存储在调用服务的域B中 在生产环境中,这不是问题,因为前端和后端位于同一个域下。但是,在本地工作时,前端在本地主机上,后端在虚拟机内 我发现将cookie设置到另一个域的唯一方法是apache指令ProxyPassReverseCookieDomain 它工作得很好。我可以设置ProxyP

我需要从域B中使用一些位于域A中的RESTAPI。 登录服务负责设置cookie。使用代理,我可以从B访问域a,没有问题

不幸的是,检查响应头时,cookie域被设置为服务所在的A,因此浏览器不会将cookie存储在调用服务的域B中

在生产环境中,这不是问题,因为前端和后端位于同一个域下。但是,在本地工作时,前端在本地主机上,后端在虚拟机内

我发现将cookie设置到另一个域的唯一方法是apache指令
ProxyPassReverseCookieDomain

它工作得很好。我可以设置
ProxyPassReverseCokieDomain虚拟机主机myLocalDomain

问题是虚拟机中的所有其他服务都无法再获取cookie

我希望为将cookie域设置为请求主机的指令提供一个动态变量。 我已经按照apache文档中的建议尝试了
ProxyPassReverseCookieDomain virtualMachineHost%{HTTP_HOST}
,但看起来变量没有展开。它被视为一个字符串,cookie域因此被设置为“{HTTP_HOST}”

有没有办法使用apache环境变量来实现这一点


谢谢。

我知道这已经很旧了,我对正在运行的反向代理应用程序也有同样的要求。不幸的是,我认为这在apache中是不可能的。另一方面,一个非常简单的解决方案可能会满足我们双方的需求,见下文

使用nginx作为apache反向代理之上的反向代理,非常简单的配置 这就是你想要的“代理\u cookie\u域”


谢谢@Waheed。我会试试你的解决方案。不客气,安东尼奥,我实际上已经在我这边实现了它,正如预期的那样工作
server {
  listen 80; //or your port
  server_name *.example.com;
  access_log /var/log/nginx/example.log;
  location / {
    proxy_pass http://apache_proxy_servers;
    proxy_cookie_domain ~\.*$ $host; // this is your line
  }
}