运行 通过域名时 HTTP 会话不可用

HTTP session unavailable while running through domain name

我制作了一个国际象棋网页游戏(在 Dart 中),部署到 Linux + Apache(在代理后面)。使用publicIP访问时,游戏运行流畅。但是,通过域名访问时,游戏失败运行。我同时使用了 cookie(用于令牌)和 HTTP 会话(用于游戏数据),在 cookie 和 HTTP 会话之间匹配此令牌。

这是我的 Apache 设置:

<VirtualHost *:80>
    ServerName example.com

    RewriteEngine On
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

我认为问题可能出在 Apache 代理后面的 cookie。有什么建议吗?

您可能需要 ProxyPassReverseCookieDomian 来确保 session cookie 中的域= 是 self-referential。查看例如发送的实际 headers开发人员工具可能会说清楚。