使用 OAuth 配置代理

  • 版本 :2022.1 及更高版本

转发代理可以帮助管理员针对负载平衡等任务管理外流到 Internet 的流量。您可以在 Tableau Server 和 Tableau Desktop 中配置转发代理以启用 OAuth 身份验证。

通过转发代理连接到 Tableau Desktop

完成以下步骤以在 Windows 局域网设置中配置代理服务器。

  1. 打开“局域网 (LAN) 设置”对话框。

  2. 提示:通过在 Windows 的“开始”菜单中搜索“Internet 选项”可快速到达此对话框。

  3. “Internet 属性”对话框中,选择“连接”选项卡。

  4. 选择“局域网设置”

  5. “代理服务器”下,选择“为 LAN 使用代理服务器”

  6. 输入代理服务器地址。

  7. 输入服务器端口。

  8. 选择“对于本地地址不使用代理服务器”

注意:如果您已按照为 Tableau Server 配置代理中的步骤操作,并且通过代理的 OAuth 请求不起作用,请按照选项 2 操作。

配置选项 1:使用系统环境变量

您可以编辑系统范围的环境变量并将 HTTP_PROXYHTTPS_PROXY 设置为您的代理以启用 OAuth 身份验证。

  1. 在 Windows 计算机搜索框中,输入“高级系统设置”

  2. 点击 Enter 打开“系统属性”框。

  3. “高级”选项卡上,选择“环境变量”

  4. 滚动浏览“系统变量”字段。

    • 如果该字段中有 https_proxyhttp_proxy,请验证值是否与您在上一步骤中配置的代理服务器地址不冲突。

    • 如果未设置这些环境变量,则将它们设置为与上一步中配置的代理服务器地址匹配的值。

  5. 重新启动 Tableau Desktop。

  6. 尝试连接到 OAuth 连接器,并验证它是否按预期工作。

注意:如果您看到“OAuth-Client 不能为空”或者“SSLHandshake 异常”“连接被拒绝”异常,请继续选择选项 2。

配置选项 2:配置 Java net.properties 代理设置

  1. 在您的文件目录中,找到您用于运行 Tableau Desktop 的 Java 版本。

    • Mac 示例:/Applications/Tableau

    • Windows 示例:C:/Program Files/Tableau/Tableau

  2. 在 Java 位置目录中,选择 conf 文件夹。如果此文件夹不存在,则创建一个。

  3. conf 文件夹中,找到 net.properties 文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。

  4. 注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。

  5. 修改或创建以下值:

    • http.proxyPort=

    • http.proxyHost=

    • https.proxyPort=

    • https.proxyHost=

    警告:确保仅包括主机。如果你的代理地址是 http://myproxy:8888,则您应设置 http.proxyHost=myproxy

  6. 重新启动 Tableau Desktop,并尝试通过 OAuth 进行连接。

通过需要 OAuth 授权的代理进行连接

如果您的代理要求您使用用户名和密码登录,则您需要完成以下步骤,以便 OAuth 请求通过代理工作。

  1. 在您的文件目录中,找到您用于运行 Tableau Desktop 的 Java 版本。

    • Mac 示例:/Applications/Tableau

    • Windows 示例:C:/Program Files/Tableau/Tableau

  2. 在 Java 位置目录中,选择 conf 文件夹。如果此文件夹不存在,则创建一个。

  3. conf 文件夹中,找到 net.properties 文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。

  4. 注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。

  5. 修改或创建以下值:

    • http.proxyUser=

    • http.proxyPassword=

  6. 重新启动 Tableau Desktop,并尝试通过 OAuth 进行连接。

通过转发代理连接到 Tableau Server

您可以从转发代理后面启动 Tableau Server 以允许 Internet 访问。您可以在 Windows LAN 设置中配置代理服务器以通过转发代理连接到 Tableau Server。

配置代理

完成以下步骤以配置代理服务器。

  1. 打开“局域网 (LAN) 设置”对话框。

  2. 提示:通过在 Windows 的“开始”菜单中搜索“Internet 选项”可快速到达此对话框。

  3. “Internet 属性”对话框中,选择“连接”选项卡。

  4. 选择“局域网设置”

  5. “代理服务器”下,选择“为 LAN 使用代理服务器”

  6. 输入代理服务器地址。

  7. 输入代理服务器端口。

  8. 选择“对于本地地址不使用代理服务器”

添加例外

您可以添加例外以确保本地 Tableau Server 群集内的所有通信不会路由到代理服务器。完成以下步骤以添加例外。

  1. “局域网设置”对话框中,单击“高级”。只有在您选择了为局域网使用代理服务器的选项后,此按钮才可用。

  2. “代理设置”对话框的“例外”字段中,输入以下值。

    • localhost

    • 服务器主机名

    • 相同群集中其他 Tableau Server 计算机的 IP 地址。

    注意:使用分号分隔各项。

  3. 关闭“代理设置”对话框。

  4. 关闭“局域网(LAN)设置”对话框。

  5. “Internet 属性”对话框中,选择“确定”以应用设置。

注意:如果您已完成为 Tableau Server 配置代理中的步骤,并且通过代理的 OAuth 请求不起作用,请按照选项 2 操作。

配置选项 1:使用系统环境变量

可以编辑系统范围的环境变量并将 HTTP_PROXY 和 HTTPS_PROXY 设置为您的代理。

  1. 在 Windows 计算机搜索框中,输入“Advanced system settings

  2. 点击 Enter 打开“系统属性”框。

  3. “高级”选项卡上,选择“环境变量”

  4. 滚动浏览“系统变量”字段。

    • 如果该字段中有 https_proxyhttp_proxy,请验证值是否与您在上一步骤中配置的代理服务器地址不冲突。

    • 如果未设置这些环境变量,则将它们设置为与上一步中配置的代理服务器地址匹配的值。

  5. 重新启动 Tableau Server。

  6. 尝试连接到 OAuth 连接器,并验证它是否按预期工作。

注意:如果您看到“OAuth-Client 不能为空”“SSLHandshake”“连接被拒绝”异常,请继续执行选项 2。

配置选项 2:配置 Java net.properties 代理设置

  1. 在您的文件目录中,找到您用于运行 Tableau Server 的 Java 版本

    • Linux 示例:opt/tableau/tableau_server/packages/repository*/jre

    • Windows 示例:C:\Program Files\Tableau\Tableau Server\packages\repository*\jre

  2. 在 Java 位置目录中,选择 conf 文件夹。

  3. 如果此文件夹不存在,则创建一个。

  4. conf 文件夹中,找到 net.properties 文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。

  5. 注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。

  6. 修改或创建以下值:

    • http.proxyPort=

    • http.proxyHost=

    • https.proxyPort=

    • https.proxyHost=

    警告:确保仅包括主机。如果你的代理地址是 http://myproxy:8888,则您应设置 http.proxyHost=myproxy

    代理主机默认值为 http.nonProxyHosts =localhost|127.*|[::1]。如果默认值与例外列表匹配,则绕过代理服务器,然后继续执行步骤 6。如果它们不匹配,请确保其具有以下值。

    • localhost

    • 相同群集中其他 Tableau Server 计算机的服务器主机名和 IP 地址。

    • 每一项以“|”分隔

  7. 重新启动 Tableau Server 并尝试通过 OAuth 进行连接。

通过需要 OAuth 授权的代理连接到 Tableau Server

如果您的代理要求您使用用户名和密码登录,则您需要完成以下步骤以允许 OAuth 请求工作。

  1. 在您的文件目录中,找到您用于运行 Tableau Server 的 Java 版本

    • Linux 示例:opt/tableau/tableau_server/packages/repository*/jre

    • Windows 示例:C:\Program Files\Tableau\Tableau Server\packages\repository*\jre

  2. 在 Java 位置目录中,选择 conf 文件夹。如果此文件夹不存在,则创建一个。

  3. conf 文件夹中,找到 net.properties 文件,然后在编辑器中打开它。如果此文件不存在,则创建一个同名的文件。

  4. 注意:如果您对此文件没有写入权限,请使用系统文件设置来启用它们。

  5. 修改或创建以下值:

    • http.proxyUser=

    • http.proxyPassword=

  6. 重新启动 Tableau Server,并尝试通过 OAuth 进行连接。

SSLHandshake 错误

如果您仍然遇到错误,请检查以确保您已将 SSL 证书放入正确的密钥存储中。

在 Windows 上,密钥存储位于系统受信任的证书存储下。如果密钥存储正确,但您仍然收到错误消息,则将您的证书直接导入 Java 密钥存储。完成以下步骤以将您的证书导入 Java 密钥存储。

  1. 将代理的 SSL 证书导出到文件。

  2. 提示:您可以在“应用程序”、“实用程序”、“密钥链访问”、“系统”、“类别”、“证书”下找到您的证书。

  3. 找到您用于运行 Tableau 的 Java 版本。

  4. 打开终端命令提示符。

  5. 从包含您用来运行 Tableau 的 Java 版本的目录中运行以下命令。

  6. Keytool –import –trustcacerts –file /Users/tableau_user/Desktop/SSL.cer -keystore Tableau

  7. 重新启动 Tableau Server 或 Tableau Desktop。

注意:如果在运行 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