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

Tableau服务器更新后嵌入式Viz无法通过SAML登录求助

问题诊断与解决方案

核心问题定位

Tableau服务器更新后,公网网关配置被错误设置为EC2内网IP+80端口,导致嵌入式组件的SSO认证流程中,跳转地址指向了无法被公网用户解析的内网IP,进而触发net::ERR_NAME_NOT_RESOLVED和NS_ERROR_UNKNOWN_HOST错误。Firefox因严格的跨域Cookie策略,问题表现更严重。

分步解决方案

1. 修正Tableau网关公网地址配置

Tableau更新后可能重置了网关的公共主机/端口配置,需强制指定为公网可访问的域名和HTTPS端口:

  • 执行以下TSM命令修改配置:
    tsm configuration set -k gateway.public.host -v "your-public-tableau-domain.com"
    tsm configuration set -k gateway.public.port -v 443
    tsm configuration set -k gateway.ssl.enabled -v true
    
  • 应用变更并重启服务:
    tsm pending-changes apply --restart
    

2. 校验ADFS信赖方回调URL

确认ADFS中Tableau的信赖方信任配置里,回调URL指向公网域名而非内网IP:

  • 回调URL格式应为:https://your-public-tableau-domain.com/wg/saml/SSO
  • 若存在内网IP的回调地址,删除并替换为公网域名地址,更新ADFS配置后重启ADFS服务。

3. 调整跨域Cookie策略(针对Firefox)

Firefox对SameSite属性的限制会导致跨域Cookie无法传递,需配置Tableau的Session Cookie属性:

  • 设置SameSite为None并启用Secure:
    tsm configuration set -k vizserver.session.cookie.same-site -v "None"
    tsm configuration set -k vizserver.session.cookie.secure -v true
    
  • 应用变更并重启服务。

4. 确认JS API嵌入参数正确性

确保嵌入代码中使用的serverUrl是Tableau的公网域名,而非内网IP:

  • 示例正确初始化代码:
    const container = document.getElementById('tableau-viz');
    const vizUrl = 'https://your-public-tableau-domain.com/views/YourWorkbook/YourSheet';
    const options = {
      hideTabs: true,
      hideToolbar: true
    };
    new tableau.Viz(container, vizUrl, options);
    

5. 排查EC2负载均衡/网络配置

若使用AWS ELB等负载均衡:

  • 确认负载均衡的转发规则将HTTPS(443)流量转发到Tableau节点的对应端口
  • 检查Tableau节点的注册地址是否为公网域名,避免负载均衡返回内网IP给客户端

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 05:25:11