You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨域请求中Cookie未发送?排查HTMX与标准请求的差异

环境配置
  • www.localhost.lan 指向 127.0.0.1
  • app.localhost.lan 指向 127.0.0.1

端口443运行着使用mkcert证书的HAProxy,核心代理规则如下:

use_backend www if { hdr(host) -i www.localhost.lan }
use_backend app if { hdr(host) -i app.localhost.lan }

用户登录时,通过以下Rust代码生成Cookie:

let cookie = Cookie::build(("vs-jwt", &s))
    .domain(".localhost.lan")
    .secure(true)
    .same_site(SameSite::None)
    .http_only(true)
    .path("/")
    .max_age(Duration::WEEK)
    .build();
问题现象

访问www.localhost.lan/app时:

  • GET www.localhost.lan/app 请求会正常携带Cookie
  • HTMX发起的GET app.localhost.lan/view/app 请求未携带Cookie

尝试调整Cookie配置后问题依旧,怀疑和JS发起的请求(此处为HTMX)有关?

触发请求的HTMX代码:

<section class="bg-white dark:bg-gray-900">
    <div id="app"></div>
    <div hx-get="https://app.localhost.lan/view/app" hx-trigger="load" hx-target="#app">
        <img alt="Result loading..." class="htmx-indicator" width="150" src="/img/bars.svg" />
    </div>
</section>

经排查,标准XMLHttpRequest请求可正常携带Cookie:

const xhr = new XMLHttpRequest();
xhr.open("GET", "https://app.localhost.lan/view/app", true);
xhr.withCredentials = true;
xhr.send(null);

请问我遗漏了什么配置?


内容的提问来源于stack exchange,提问作者Istvan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:52:14