使用 OAuth 配置代理
- 版本 :2022.1 及更高版本
转发代理可以帮助管理员针对负载平衡等任务管理外流到 Internet 的流量。您可以在 Tableau Server 和 Tableau Desktop 中配置转发代理以启用 OAuth 身份验证。
通过转发代理连接到 Tableau Desktop
完成以下步骤以在 Windows 局域网设置中配置代理服务器。
打开“局域网 (LAN) 设置”对话框。
在“Internet 属性”对话框中,选择“连接”选项卡。
选择“局域网设置”。
在“代理服务器”下,选择“为 LAN 使用代理服务器”。
输入代理服务器地址。
输入服务器端口。
选择“对于本地地址不使用代理服务器”。
提示:通过在 Windows 的“开始”菜单中搜索“Internet 选项”可快速到达此对话框。
注意:如果您已按照为 Tableau Server 配置代理中的步骤操作,并且通过代理的 OAuth 请求不起作用,请按照选项 2 操作。
配置选项 1:使用系统环境变量
您可以编辑系统范围的环境变量并将 HTTP_PROXY
和 HTTPS_PROXY
设置为您的代理以启用 OAuth 身份验证。
在 Windows 计算机搜索框中,输入“高级系统设置”。
点击 Enter 打开“系统属性”框。
在“高级”选项卡上,选择“环境变量”。
滚动浏览“系统变量”字段。
如果该字段中有
https_proxy
或http_proxy
,请验证值是否与您在上一步骤中配置的代理服务器地址不冲突。如果未设置这些环境变量,则将它们设置为与上一步中配置的代理服务器地址匹配的值。
重新启动 Tableau Desktop。
尝试连接到 OAuth 连接器,并验证它是否按预期工作。
注意:如果您看到“OAuth-Client 不能为空”或者“SSLHandshake 异常”或“连接被拒绝”异常,请继续选择选项 2。
配置选项 2:配置 Java net.properties 代理设置
在您的文件目录中,找到您用于运行 Tableau Desktop 的 Java 版本。
Mac 示例:
/Applications/Tableau
Windows 示例:
C:/Program Files/Tableau/Tableau
在 Java 位置目录中,选择
conf
文件夹。如果此文件夹不存在,则创建一个。在
conf
文件夹中,找到net.properties
文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。修改或创建以下值:
http.proxyPort=
http.proxyHost=
https.proxyPort=
https.proxyHost=
重新启动 Tableau Desktop,并尝试通过 OAuth 进行连接。
注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。
警告:确保仅包括主机。如果你的代理地址是 http://myproxy:8888,则您应设置 http.proxyHost=myproxy
通过需要 OAuth 授权的代理进行连接
如果您的代理要求您使用用户名和密码登录,则您需要完成以下步骤,以便 OAuth 请求通过代理工作。
在您的文件目录中,找到您用于运行 Tableau Desktop 的 Java 版本。
Mac 示例:
/Applications/Tableau
Windows 示例:
C:/Program Files/Tableau/Tableau
在 Java 位置目录中,选择
conf
文件夹。如果此文件夹不存在,则创建一个。在
conf
文件夹中,找到net.properties
文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。修改或创建以下值:
http.proxyUser=
http.proxyPassword=
重新启动 Tableau Desktop,并尝试通过 OAuth 进行连接。
注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。
通过转发代理连接到 Tableau Server
您可以从转发代理后面启动 Tableau Server 以允许 Internet 访问。您可以在 Windows LAN 设置中配置代理服务器以通过转发代理连接到 Tableau Server。
配置代理
完成以下步骤以配置代理服务器。
打开“局域网 (LAN) 设置”对话框。
在“Internet 属性”对话框中,选择“连接”选项卡。
选择“局域网设置”。
在“代理服务器”下,选择“为 LAN 使用代理服务器”。
输入代理服务器地址。
输入代理服务器端口。
选择“对于本地地址不使用代理服务器”。
提示:通过在 Windows 的“开始”菜单中搜索“Internet 选项”可快速到达此对话框。
添加例外
您可以添加例外以确保本地 Tableau Server 群集内的所有通信不会路由到代理服务器。完成以下步骤以添加例外。
在“局域网设置”对话框中,单击“高级”。只有在您选择了为局域网使用代理服务器的选项后,此按钮才可用。
在“代理设置”对话框的“例外”字段中,输入以下值。
localhost
服务器主机名
相同群集中其他 Tableau Server 计算机的 IP 地址。
关闭“代理设置”对话框。
关闭“局域网(LAN)设置”对话框。
在“Internet 属性”对话框中,选择“确定”以应用设置。
注意:使用分号分隔各项。
注意:如果您已完成为 Tableau Server 配置代理中的步骤,并且通过代理的 OAuth 请求不起作用,请按照选项 2 操作。
配置选项 1:使用系统环境变量
可以编辑系统范围的环境变量并将 HTTP_PROXY 和 HTTPS_PROXY 设置为您的代理。
在 Windows 计算机搜索框中,输入“
Advanced system settings
”点击 Enter 打开“系统属性”框。
在“高级”选项卡上,选择“环境变量”。
滚动浏览“系统变量”字段。
如果该字段中有
https_proxy
或http_proxy
,请验证值是否与您在上一步骤中配置的代理服务器地址不冲突。如果未设置这些环境变量,则将它们设置为与上一步中配置的代理服务器地址匹配的值。
重新启动 Tableau Server。
尝试连接到 OAuth 连接器,并验证它是否按预期工作。
注意:如果您看到“OAuth-Client 不能为空”、“SSLHandshake”或“连接被拒绝”异常,请继续执行选项 2。
配置选项 2:配置 Java net.properties 代理设置
在您的文件目录中,找到您用于运行 Tableau Server 的 Java 版本
Linux 示例:
opt/tableau/tableau_server/packages/repository*/jre
Windows 示例:
C:\Program Files\Tableau\Tableau Server\packages\repository*\jre
在 Java 位置目录中,选择
conf
文件夹。如果此文件夹不存在,则创建一个。
在
conf
文件夹中,找到net.properties
文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。修改或创建以下值:
http.proxyPort=
http.proxyHost=
https.proxyPort=
https.proxyHost=
localhost
相同群集中其他 Tableau Server 计算机的服务器主机名和 IP 地址。
每一项以“|”分隔
重新启动 Tableau Server 并尝试通过 OAuth 进行连接。
注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。
警告:确保仅包括主机。如果你的代理地址是 http://myproxy:8888,则您应设置 http.proxyHost=myproxy
代理主机默认值为 http.nonProxyHosts =localhost|127.*|[::1]
。如果默认值与例外列表匹配,则绕过代理服务器,然后继续执行步骤 6。如果它们不匹配,请确保其具有以下值。
通过需要 OAuth 授权的代理连接到 Tableau Server
如果您的代理要求您使用用户名和密码登录,则您需要完成以下步骤以允许 OAuth 请求工作。
在您的文件目录中,找到您用于运行 Tableau Server 的 Java 版本
Linux 示例:
opt/tableau/tableau_server/packages/repository*/jre
Windows 示例:
C:\Program Files\Tableau\Tableau Server\packages\repository*\jre
在 Java 位置目录中,选择
conf
文件夹。如果此文件夹不存在,则创建一个。在
conf
文件夹中,找到net.properties
文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。修改或创建以下值:
http.proxyUser=
http.proxyPassword=
重新启动 Tableau Server,并尝试通过 OAuth 进行连接。
注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。
SSLHandshake 错误
如果您仍然遇到错误,请检查以确保您已将 SSL 证书放入正确的密钥存储中。
在 Windows 上,密钥存储位于系统受信任的证书存储下。如果密钥存储正确,但您仍然收到错误消息,则将您的证书直接导入 Java 密钥存储。完成以下步骤以将您的证书导入 Java 密钥存储。
将代理的 SSL 证书导出到文件。
找到您用于运行 Tableau 的 Java 版本。
打开终端命令提示符。
从包含您用来运行 Tableau 的 Java 版本的目录中运行以下命令。
重新启动 Tableau Server 或 Tableau Desktop。
提示:您可以在“应用程序”、“实用程序”、“密钥链访问”、“系统”、“类别”、“证书”下找到您的证书。
Keytool –import –trustcacerts –file /Users/tableau_user/Desktop/SSL.cer -keystore Tableau
注意:如果在运行 keytool 命令时遇到 FileNotFoundException(拒绝访问),请尝试使用提升的权限运行该命令。
sudo keytool –import –trustcacerts –file /Users/tableau_user/Desktop/SSL.cer -keystore Tableau 2021.3.1/Plugins/jre/lib/security/cacerts -storepass changeit