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

为跨VM的REST请求添加请求头解决Qlik仪表板窄播登录问题

解决Qlik仪表板在窄播系统免登录访问的方案

方案1:Qlik端配置信任IP白名单

因为两台VM均为本地部署,直接在Qlik服务器上配置信任窄播VM的IP地址,允许来自该IP的请求跳过AD认证:

  • 登录Qlik管理控制台,进入虚拟代理配置页面
  • 创建或编辑对应仪表板的代理规则,将窄播VM的IP添加至信任客户端IP列表
  • 开启该代理的匿名访问权限,并绑定目标仪表板的访问权限组,确保仅来自该IP的请求能匿名访问指定仪表板

方案2:部署反向代理自动添加请求头

在两台VM之间(或窄播VM本地)部署Nginx作为反向代理,自动为转发的请求追加认证头:

  1. 在代理VM安装Nginx,修改nginx.conf添加如下配置:
    server {
        listen 80;
        server_name proxy-qlik.local;
    
        location /target-dashboard/ {
            proxy_pass http://[Qlik-VM-IP]/target-dashboard/;
            # 根据Qlik认证要求添加请求头,示例为Bearer令牌格式
            proxy_set_header Authorization "Bearer YOUR_QLIK_EMBED_TOKEN";
            proxy_set_header Host $host;
        }
    }
    
  2. 重启Nginx服务,将窄播系统中的嵌入URL替换为反向代理地址(如http://proxy-qlik.local/target-dashboard/)

方案3:使用Qlik嵌入令牌拼接URL

通过Qlik API生成针对指定仪表板的嵌入令牌,直接将令牌作为URL参数传入:

  • 调用Qlik的CreateSession或GenerateEmbedToken接口,生成绑定目标仪表板的专属令牌
  • 构造嵌入URL:http://[Qlik-VM-IP]/target-dashboard?embed_token=GENERATED_TOKEN
  • 将该URL配置到窄播系统中,Qlik会通过URL参数验证身份,无需跳转登录界面
  • 若需长期展示,可设置令牌较长有效期,或编写简单脚本定期更新令牌并同步到窄播方案

方案4:VM层面拦截修改请求(临时场景)

在窄播VM上使用mitmproxy配合iptables,拦截发往Qlik的请求并添加认证头:

  1. 安装mitmproxy:apt install mitmproxy(Debian/Ubuntu)或yum install mitmproxy(CentOS)
  2. 编写mitmproxy脚本add_header.py:
    from mitmproxy import http
    
    def request(flow: http.HTTPFlow) -> None:
        if flow.request.pretty_host == "[Qlik-VM-IP]":
            flow.request.headers["Authorization"] = "Bearer YOUR_QLIK_EMBED_TOKEN"
    
  3. 启动mitmproxy并加载脚本:mitmproxy -s add_header.py -p 8080
  4. 配置iptables转发请求:
    iptables -t nat -A OUTPUT -d [Qlik-VM-IP] -p tcp --dport 80 -j REDIRECT --to-port 8080
    
    窄播VM发出的请求会被mitmproxy拦截并添加头后转发给Qlik

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:21:26