配置与 Internet 的通信
- 版本 :2022.1 及更高版本
配置与 Internet 的通信。
在前一章中,我们讨论了如何设置 SSL 以帮助保护客户端(浏览器、移动设备等)与 Tableau Server 之间的流量。配置 SSL 始终是一个好主意,但是,如果您想要允许客户端从您的网络之外(即从公共互联网)访问 Tableau Server,则 SSL 必不可少。如果您跳过了这一章,但是想要允许人员从您的网络之外访问 Tableau Server,请回来查看此章。除非您设置了 SSL,否则真的绝对不应该允许访问该服务器。
如果打算允许外部访问,则还必须设置反向代理服务器。本章讨论代理服务器 - 什么是代理服务器以及为什么要使用代理服务器。我们还提供了一些有关如何配置代理服务器的指导。
该给您的 IT 朋友打电话了
与 Tableau Server:适用于每个人的安装指南 的大多数其他章节不同,在这些章节中,IT 专业人员只需提供最少量的帮助,您就可以完成服务器配置,而本章是为 IT 专业人员而编写的。为了让每个人都能够理解,我们试用过各种方法来描述概念,但是设置代理服务器涉及证书管理、配置代理和网关设置以及高级网络配置。如果您不是 IT 专业人员,并且到目前为止,您一直在使用本指南独自努力学习,那么现在是时候向专业人员求助了。
Tableau 如何与 Internet 通信
对于以下方案,Tableau Server 要求通过出站方式访问 Internet:
使用地图。Tableau 使用外部承载的地图数据。
Tableau Server 需要通过端口 443 连接到以下 Internet 位置来使用地图:
如果 Tableau 无法建立这些连接,则地图可能会加载失败。
可通过在浏览器中访问以下每个地址来测试连接:
https://mapsconfig.tableau.com/v1/config.json
和https://api.mapbox.com/
将提示您下载 json 文件。如果您使用代理连接到 Internet,并且无法连接到
api.mapbox.com
,请参见 Mapbox 网站上的使用防火墙。对于 Tableau Server 版本 2019.1 及更低版本,请参见适用于您的版本的文档:Tableau 帮助
mapsconfig.tableau.com
api.mapbox.com
连接到 Tableau send-logs 服务器。
可以与支持人员合作将日志文件上载到 Tableau。请参见“
tsm maintenance send-logs
”。若要成功将文件上载到 Tableau,Tableau Server 必须能够在端口 443 上与 send-logs 服务器进行通信:report-issue.tableau.com:443
发送基本产品数据。
Tableau 使用域 prod.telemetry.tableausoftware.com 接收有关进程启动和关闭的基本产品数据。它还用于更通用的产品使用情况数据。
进入此域的流量将发生在端口 80(用于我们的产品数据客户端的初始注册)和端口 443(对于所有后续流量)上。
prod.telemetry.tableausoftware.com:80
prod.telemetry.tableausoftware.com:443
许可。Tableau 产品连接到 Internet 来激活产品密钥。除非您使用脱机激活工具激活 Tableau 软件,否则所有 Tableau 产品都必须访问 Internet 来验证许可证。具体而言,Tableau 在以下许可操作过程中需要访问 Internet:激活、停用,以及在刷新维护日期时。有关这些操作的详细信息,请参见“管理许可证”。
Tableau Server 需要连接到以下 Internet 位置来完成许可:
必须在端口 80 或 443 上发出对以上域的请求。端口 80 用于证书验证(吊销、证书链等)。端口 443 用于 SSL 连接。
如果在尝试激活其许可证时 Tableau Server 无法建立连接,则将提示您进行脱机激活。
atr.licensing.tableau.com:443
licensing.tableau.com:443
licensing.tableausoftware.com:443
s.ss2.us
ocsp.rootg2.amazontrust.com
ocsp.rootca1.amazontrust.com
ocsp.sca1b.amazontrust.com
crt.sca1b.amazontrust.com
crt.rootca1.amazontrust.com
ocsp.sca0a.amazontrust.com
crt.sca0a.amazontrust.com
ocsp.sca1a.amazontrust.com
crt.sca1a.amazontrust.com
ocsp.sca2a.amazontrust.com
crt.sca2a.amazontrust.com
ocsp.sca3a.amazontrust.com
crt.sca3a.amazontrust.com
ocsp.sca4a.amazontrust.com
crt.sca4a.amazontrust.com
crl.rootca1.amazontrust.com
crl.rootg2.amazontrust.com
crl.sca1b.amazontrust.com
使用外部数据或云端数据。
对于 Box、Dropbox、OneDrive、Google Drive、Google Sheets 和 Anaplan 服务,Tableau Server 需要连接到以下 Internet 位置:
galop.connectors.tableau.com:443
:更新环境设置。
Tableau Server 和代理服务器
Tableau Server 旨在受保护的内部网络内部运行。因此,我们首先强烈建议不要在用作组织 Internet 网关的计算机上设置 Tableau Server。正如我们开始时建议的那样,请将 Tableau Server 放在未运行其他进程的专用计算机上,在本例中,放在未直接暴露到 Internet 的计算机上。
您应该改为配置一个代理服务器 — 在本地(内部)网络和 Internet 之间传递流量的计算机。反向代理服务器将流量从网络内部传递到 Internet 上的目标。反向代理服务器将流量从 Internet 传递到网络内部的目标。
如果您正在大型组织中工作,那么您的 IT 部门毫无疑问地已经设置了代理服务器。如果您要自己设置这一切,即,如上所述,您可能需要咨询有代理服务器经验的人员。但是让我们先概览一下代理服务器。
转发代理服务器
转发代理是介于网络内的计算机与 Internet 之间的服务器。当网络计算机上的应用程序需要访问 Internet 时,它并不直接向 Internet 发送请求。而是将请求发送给转发代理,而转发代理则会彻底转发请求。转发代理可以帮助管理员针对负载平衡、阻止访问站点等任务管理外流到 Internet 的流量。
许多组织在他们的网络上使用转发代理。在这些组织中,必须将网络内部的计算机配置为将流量发送到转发代理。通常,即使用户自己并不试图访问 Internet,也必需进行此配置。例如,为了使用户能够创建包括地图的工作簿,Tableau Desktop 和 Tableau Server 必须访问 Internet 上托管的 Tableau 地图服务器。此外,默认情况下,Tableau 产品的授权组件会连接到 Internet 以激活我们的产品。除非您使用脱机激活工具激活 Tableau 软件,否则所有 Tableau 产品都必须访问 Internet 以验证其许可证。
如果您的组织运行转发代理服务器,则您必须确保将 Tableau Desktop 和 Server 配置为使用该代理服务器。如果您的代理服务器为出站连接对用户进行身份验证,则您需要将 Tableau Server 上的 Windows Internet 选项配置为使用用户运行身份帐户作为安全上下文。
后面的其他资源部分包括有关如何设置转发代理服务器的详细信息的链接。
反向代理服务器
反向代理是指从外部 (Internet) 客户端接收请求并将请求转发到 Tableau Server 的服务器。为什么要使用反向代理?答案基本上是安全性。反向代理向 Internet 提供 Tableau Server 而不会向 Internet 暴露该服务器的 IP 地址。反向代理还充当身份验证和直通设备,因此如果公司外部人员(在 DMZ 中,知道这个词的那些人)可以访问此代理,则不会存储数据。这一要求对于需要遵循诸如 PCI、HIPAA 或 SOX 之类的各种隐私法规的组织可能很重要。
关于反向代理如何使用 Tableau Server 的说明
下图说明了当客户端向配置为使用反向代理服务器的 Tableau Server 发出请求时的通信路径。
外部客户端发起 Tableau Server 连接。此客户端使用为反向代理服务器配置的公共 URL,例如
https://tableau.example.com
。(客户端不知道它正在访问反向代理。)反向代理将请求传递给 Tableau Server。可以将反向代理配置为(使用 SSL/TLS)对客户端进行身份验证,以作为将请求传递给 Tableau Server 的前提条件。
Tableau Server 获取请求并将其响应发送到反向代理。
反向代理将内容发回给客户端。就客户端而言,它刚与 Tableau Server 进行了交互,并且无法得知反向代理已传递了通信。
代理服务器和 SSL
为了获得更好的安全性,您应该将代理服务器配置为对网络外部的任何流量使用 SSL。这有助于保护隐私、内容完整性和身份验证。除非您已经采取了其他安全措施来保护您的 Internet 网关与 Tableau Server 之间的流量,否则,也建议配置网关代理与 Tableau Server 之间的 SSL。如前一章保护客户端和服务器之间的流量中所述,您可以使用内部或自签名证书对 Tableau 服务器与其他内部计算机之间的流量进行加密。
实际上,我们建议通过 SSL 沿每个跃点(从外部到反向代理服务器以及从反向代理到 Tableau Server)保护流量。在此情况下,我们建议您将反向代理配置为拒绝不使用 SSL 的连接(即 URL 中未使用 https://
的连接)。
如果您将使用 Kerberos 身份验证,则必须先将 Tableau Server 配置为使用代理,再将 Tableau Server 配置为使用 Kerberos。
有关详细信息,请参见配置 Kerberos。此外,您可以将 SAML、OpenID Connect 或 Trusted Tickets 与反向代理一起使用。
将 Tableau Server 配置为使用反向代理服务器
是的,我们已经劝说您使用反向代理。在配置 Tableau Server 之前,您需要收集有关代理服务器配置的以下信息。除非您是设置反向代理服务器的人员,否则您需要请求您的 IT 人员提供此信息。
项 | 描述 |
---|---|
IP 地址 或 CNAME | 对于此选项,您可以输入 IP 地址或 CNAME。 代理服务器的一个或多个公共 IP 地址。IP 地址必须采用 IPv4 格式(例如 如果无法提供静态 IP 地址,或者如果您正在使用云代理或外部负载平衡器,则您可以指定客户端连接到 Tableau Server 时将使用的 CNAME(规范名称)DNS 值。必须在反向代理解决方案中配置此 CNAME 值以与 Tableau Server 通信。 |
FQDN | 人员访问 Tableau Server 所使用的完全限定的域名,如 tableau.example.com 。Tableau Server 不支持包括超出域名范围的信息的 FQDN,例如,example.com/tableau .。(您的 IT 专业人员可能知道这意味着 Tableau Server 不支持上下文切换)。 |
非 FQDN | 代理服务器的任何子域名。在 tableau.example.com 这个示例中,子域名为 tableau 。 |
别名 | 代理服务器的任何公共备用名称。大多数情况下,会使用 CNAME 值指定别名。例如,代理服务器 bigbox.example.com 以及 CNAME 条目 ftp.example.com 和 www.example.com 。 |
端口 | 从客户端到反向代理服务器以及从代理服务器到 Tableau Server 的流量的端口号。 |
若要配置 Tableau Server,请使用 Tableau 服务管理器 (TSM)。Tableau 服务管理器是用于安装、配置和管理 Tableau 服务的管理工具集。
输入以下命令以设置客户端通过代理服务器访问 Tableau Server 时将使用的 FQDN,其中
name
是 FQDN:tsm configuration set -k gateway.public.host -v 'name'
举例来说,如果通过在浏览器中输入
https://tableau.example.com
来访问 Tableau Server,请输入此命令:tsm configuration set -k gateway.public.host -v 'tableau.example.com'
输入以下命令以设置代理服务器的地址或 CNAME,其中
server_address
为 IPv4 地址或 CNAME 值:tsm configuration set -k gateway.trusted -v 'server_ip_address'
如果组织使用多个代理服务器,请输入多个 IPv4 地址,用逗号分隔这些地址。不支持 IP 范围。为了改善 Tableau Server 的启动和初始化,请最大程度地减少
gateway.trusted
的条目数。输入以下命令以为代理服务器指定备用名称,例如它的完全限定域名、任何非完全限定域名和任何别名。如果有多个名称,请用逗号将名称隔开。
tsm configuration set -k gateway.trusted_hosts -v 'name1, name2, name3'
例如:
tsm configuration set -k gateway.trusted_hosts -v 'proxy1.example.com, proxy1, ftp.example.com, www.example.com'
如果代理服务器使用 SSL 与 Internet 通信,请运行以下命令,告知 Tableau 反向代理服务器正在使用端口 443,而不是端口 80:
tsm configuration set -k gateway.public.port -v 443
注意:如果代理服务器使用 SSL 与 Tableau Server 进行通信,则必须在 Tableau Server 上配置和启用 SSL。
输入以下命令以提交配置更改并重新启动 Tableau Server:
tsm pending-changes apply
将反向代理服务器配置为使用 Tableau Server
如果要实现通过反向代理从 Internet 访问客户端,则需要为 Tableau Server 保存(或添加)特定消息标头。下图显示了此情况。
Tableau Server 需要的标头为:
REMOTE_ADDR
和X-FORWARDED-FOR
(XFF
)。Tableau Server 需要使用这些标头来确定请求发起方的 IP 地址。HOST
和X-FORWARDED HOST
(XFH
)。这些标头用于在 Tableau Server 回复客户端时生成指向 Tableau Server 的绝对链接。X-FORWARDED-PROTO
(XFP
)。如果您要在代理中而不是在 Tableau Server 上运行 SSL,则需要此标头。如前所述,我们建议在每个跃点上运行 SSL。
反向代理的疑难解答和注意事项
因为存在不同的代理解决方案,所以我们无法清楚地说明设置端到端配置的步骤。然而,我们收集了与针对 Tableau Server 启用反向代理相关的一些提示和其他信息。
配置标头
对于未沿着消息路由的每个跃点来维护 HTTP 或 HTTPS 的情况,
X-FORWARDED-PROTO
标头很重要。例如,如果反向代理需要使用 SSL 来处理外部请求,但是未将反向代理与 Tableau Server 之间的通信配置为使用 SSL,则需要提供X-FORWARDED-PROTO
标头。有些代理解决方案会自动添加X-FORWARDED-PROTO
标头,而有些则不会。最后,根据您的代理解决方案,您可能必须配置端口转发以将请求从端口 443 转到端口 80。某些代理服务器需要规则以及
X-FORWARDED-PROTO
标头。例如,F5 代理设备要求您将 iRule 应用于承载 Tableau Server URL 命名空间的虚拟服务器。代理服务器和外部负载平衡器可以多种形态进行混合和堆叠。在有多个跃点的情况下,提供给 Tableau Server 的标头的顺序必须与流量抵达 Tableau Server 所采用的跃点的顺序匹配。此外,若要启用受信任的票证,则必须在
gateway.trusted
和trusted.hosts
设置中指定链中的所有代理服务器。如果您的
gateway.trusted
设置中有多个 IP,则在发出命令时,必须使用逗号和空格将值隔开,例如"203.0.113.0, 10.32.56.78"
。整个字符串还必须用双引号括起来,如图所示。
身份验证
如果您将使用 Kerberos 身份验证,则必须先将 Tableau Server 配置为使用代理,再将 Tableau Server 配置为使用 Kerberos。
有关详细信息,请参见 Tableau Server 帮助中的配置 Kerberos。
将您的代理配置为使用 SSL 进行身份验证。不要将代理服务器配置为提示用户进行身份验证。
其他资源
针对 Tableau Server 配置代理。Tableau Server 帮助中一个提供复杂部署配置信息的主题。
Desktop 部署指南。本指南提供有关如何为您自己或多个用户计划、安装和升级 Tableau Desktop 的信息。