关联官方文章:针对 Tableau Server 配置代理

一、代理的过程与设置代理转发的最简单方法

通常,Tableau server会被安装在企业的内网环境中,内网服务器的典型特征是仅仅分配了内网的IP地址(典型如192.168.X.X或者172.16.X.X网段)。此时外部的客户端是无法访问Tableau server上的视图的。

此时,就需要一个“桥”,来传递外网客户端的访问请求(1),转发给内网的Tableau server(2),并将返回的视图结果(3),再传递给访问的客户端(4),即下图的过程。

中间的这个桥梁,Tableau server称之为“反向代理”。

并且,在官方的网站中给出了设置反向代理的方法。

但是!!!!

大部分情况下,其实不需要设置,还有更加简单的方法。

反向代理的机制就是为了成为外网客户端和内网服务器的中间桥梁,在企业中,通常有少量的公网IP地址作为统一访问使用(静态公网IP是稀缺资源),IT部门会设置路由转发,将来自某个端口的访问请求,转发到指定的内网服务器中,这就是大名鼎鼎的路由映射NAT功能。

博客 网络映射 代理

NAT是Network Address Translation(网络地址转换)的简称,于1994年提出来,专门用于内网IP地址的设备连接往外使用,实现的载体通常是转发互联网信号的路由器。

在上面的企业案例中,客户设置外网地址的同时,通常同时就会设置外网地址和端口的映射到内部的服务器。在单一节点的Tableau server部署情况下,不需要额外配置其他地方即可使用。

二、设置反向代理的必要性和方法

那什么时候才必须在Tableau server中配置反向代理呢?

——当你有一个多节点构成的集群时!

因为Tableau Server已经淡化了主节点和附节点这样的定义,内网访问可以通过负载均衡和默认网关访问,来自路由器的请求就没有那么聪明了。此时就需要配置反向代理,告诉路由器将外网的请求转发给哪一个节点。

这里使用tsm configuration 命令,下面是我给我的客户做的配置过程,如下:

[root@localhost ~]# tsm configuration
与服务器配置相关的命令类别。可用命令:
tsm configuration get [参数] — 从当前活动服务器配置中获取值。
tsm configuration set [参数] — 设置服务器配置密钥。

1-设置客户端通过代理服务器访问 Tableau Server 时将使用的 域名地址:
[root@localhost ~]# tsm configuration set -k gateway.public.host -v ‘bi.nbpcare.com’

2-设置代理服务器的地址或 CNAME,其中 server_address 为 IPv4 地址或 CNAME 值:
[root@localhost ~]# tsm configuration set -k gateway.trusted -v ‘222.223.229.144’

3-为代理服务器指定备用名称,例如它的完全限定域名、任何非完全限定域名和任何别名。
[root@localhost ~]# tsm configuration set -k gateway.trusted_hosts -v ‘bi’

4-设置外网访问的端口号。如果代理服务器使用 SSL 与 Internet 通信,请运行以下命令,告知 Tableau 反向代理服务器正在使用端口 443,而不是端口 80:
[root@localhost ~]# tsm configuration set -k gateway.public.port -v 6668

5-输入以下命令以提交配置更改:
[root@localhost ~]# tsm pending-changes apply
此操作将执行服务器重新启动。是否确实要继续?
(y/n): y
正在开始部署异步作业。
作业 ID 为“15”,超时为 38 分钟。
7% – 检索要部署的拓扑。
15% – 检索要部署的配置。
23% – 正在验证新的拓扑。
30% – 正在确定是否需要启动服务器。
38% – 禁用所有服务。
46% – 等待停止服务。
53% – 正在将节点更新为新拓扑。
61% – 等待应用拓扑。
69% – 将节点更新为新配置。
76% – 重新配置服务。
84% – 正在等待服务重新配置。
92% – 启用所有服务。
正在运行 – 等待启动服务。 16 服务已启动。

注意:

上面的第四步中,不要按照官方的说明统一改为443,通常外网不会把443映射给你,比如这里使用的6668端口。只有在使用SSL时,才必须使用443端口,

即便如此,上面设置正确,确依然无法访问。在各种浏览器中,都会出现UNSAFE-PORT的提示(不安全的端口)。是哪里还需要设置,还是这个端口不可以?

 

查询网络会发现,很多端口都是默认不安全端口,它们另有重用,我把上面的6668端口改为了6180,网络就正常了。

附:Chrome默认非安全端口

设置端口的时候应该尽量避免这些端口,如果逼不得已需要使用这些端口调试再去配置。

1, // tcpmux 
7, // echo 
9, // discard 
11, // systat 
13, // daytime 
15, // netstat 
17, // qotd 
19, // chargen 
20, // ftp data 
21, // ftp access 
22, // ssh 
23, // telnet 
25, // smtp 
37, // time 
42, // name 
43, // nicname 
53, // domain 
77, // priv-rjs 
79, // finger 
87, // ttylink 
95, // supdup 
101, // hostriame 
102, // iso-tsap 
103, // gppitnp 
104, // acr-nema 
109, // pop2 
110, // pop3 
111, // sunrpc 
113, // auth 
115, // sftp 
117, // uucp-path 
119, // nntp 
123, // NTP 
135, // loc-srv /epmap 
139, // netbios 
143, // imap2 
179, // BGP 
389, // ldap 
465, // smtp+ssl 
512, // print / exec 
513, // login 
514, // shell 
515, // printer 
526, // tempo 
530, // courier 
531, // chat 
532, // netnews 
540, // uucp 
556, // remotefs 
563, // nntp+ssl 
587, // stmp? 
601, // ?? 
636, // ldap+ssl 
993, // ldap+ssl 
995, // pop3+ssl 
2049, // nfs 
3659, // apple-sasl / PasswordServer 
4045, // lockd 
6000, // X11 
6665, // Alternate IRC [Apple addition] 
6666, // Alternate IRC [Apple addition] 
6667, // Standard IRC [Apple addition] 
6668, // Alternate IRC [Apple addition] 
6669, // Alternate IRC [Apple addition]

 

最后:官方的转发代理用于内网访问外网,比如地图和许可证。注意

 

May 25, 2020