关联官方文章:针对 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