如何在Apache中正确配置VirtualHost(用于eXist db app)

如何在Apache中正确配置VirtualHost(用于eXist db app),apache,session-cookies,reverse-proxy,exist-db,Apache,Session Cookies,Reverse Proxy,Exist Db,在虚拟服务器上,我需要在其他网站旁边运行eXist db应用程序。在我的应用程序中,有用于登录和注销的cookies 这些设置适用于Firefox,一切正常: <VirtualHost *:80> ServerAdmin my@mail.com ServerName my-app.my-domain.com ProxyRequests off ProxyPass / http://xx.xx.xx.xx:xxxx/exist/apps/my-app/ ProxyP

在虚拟服务器上,我需要在其他网站旁边运行eXist db应用程序。在我的应用程序中,有用于登录和注销的cookies

这些设置适用于Firefox,一切正常:

<VirtualHost *:80>
  ServerAdmin my@mail.com
  ServerName my-app.my-domain.com
  ProxyRequests off
  ProxyPass / http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
  ProxyPassReverse / http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
  ProxyPassReverseCookiePath / http://my-app.my-domain.com
</VirtualHost>

尝试将代理配置设置到位置部分

<VirtualHost *:80>
    ServerAdmin my@mail.com
    ServerName my-app.my-domain.com
    ProxyRequests off
    <Location />
        ProxyPass http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
        ProxyPassReverse http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
        ProxyPassReverseCookiePath http://my-app.my-domain.com
    </Location>
</VirtualHost>

服务器管理员my@mail.com
服务器名my-app.my-domain.com
代理请求关闭
ProxyPasshttp://xx.xx.xx.xx:xxxx/exist/apps/my-应用程序/
ProxyPassReversehttp://xx.xx.xx.xx:xxxx/exist/apps/my-应用程序/
ProxyPassReverseCokiePathhttp://my-app.my-domain.com

解决方案是:
ProxyPassReverseCookiePath/exist/

通过检查通过显示的cookie参数,我发现了这一点。URL的
/exist
部分没有受到怀疑,因为它是由控制器重写的,在地址栏中看不到


JSESSIONID
具有路径值
/
,登录cookie
/exist
。现在它们都有了
/

有趣的是,您正在丢失与单个后端的会话,您可能会在平衡器中看到您描述的这种行为。尽管如此,还是很有趣。目前,这位主持人是两位主持人之一。另一个是使用Harp.js提供的非常简单的静态web。谢谢!但是,仍然适用于Firefox,不适用于IE。Cookie的最后一个参数必须有两个或三个参数。我使用了与原始配置相同的配置。
<VirtualHost *:80>
    ServerAdmin my@mail.com
    ServerName my-app.my-domain.com
    ProxyRequests off
    <Location />
        ProxyPass http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
        ProxyPassReverse http://xx.xx.xx.xx:xxxx/exist/apps/my-app/
        ProxyPassReverseCookiePath http://my-app.my-domain.com
    </Location>
</VirtualHost>