bg-tutorials

如何在 Tableau Server 上生成 CSR

本教程将向您展示如何在 Windows 和 Linux 上为 Tableau Server 生成 CSR(证书签名请求)和私钥。Tableau Server 没有内置的 CSR 生成器,因此您需要使用随附的 Apache 软件包中自带的 OpenSSL 二进制文件。在 Tableau Server 节点上生成密钥和 CSR,将 CSR 提交给您的证书颁发机构,签发的证书返回后,通过 Tableau Services Manager 导入。

您需要准备的内容

  • 在 Tableau Server 节点上具有管理员(Windows)或 sudo(Linux)权限。
  • 与您的 Tableau Server 版本捆绑的确切Apache 软件包版本。在 Windows 上列出 C:Program FilesTableauTableau Serverpackages,或在 Linux 上列出 /opt/tableau/tableau_server/packages/,找到名为 apache.X.Y.Z 的文件夹。X.Y.Z 部分会随每次 Tableau Server 发布而变化。
  • Tableau Server 将要提供服务的确切完全限定域名(FQDN),例如 tableau.yourdomain.com,以及您希望同一证书覆盖的其他任何主机名(用于 SAN 字段)。
  • 您所在组织的法定信息(国家、州/省、城市、组织名称),用于 CSR 的可分辨名称(Distinguished Name)。

2026 年密钥长度说明。Tableau Server 2025.3 及更高版本运行在具有二级安全性(Level 2 security)的 OpenSSL 3.4.x 之上,该版本会拒绝短于 2048 位的 RSA 密钥。请将 2048 位 RSA 作为最低要求;对于计划使用多年的密钥,升级到 3072 或 4096 位是合理的选择。Tableau 官方文档的示例本身就使用了 4096 位 RSA。

在 Windows 版 Tableau Server 上生成 CSR

如果您已经生成了 CSR,请跳转至将 CSR 提交给您的证书颁发机构,然后前往在 Tableau Server 上安装 SSL 证书

第 1 步:打开提升权限的命令提示符

按下 Windows 键,输入 cmd,然后右键单击命令提示符并选择以管理员身份运行。由于捆绑的 OpenSSL 位于 C:Program Files 下,因此需要提升权限。

第 2 步:切换到捆绑的 Apache bin 目录

Tableau 在 Apache 软件包中自带了它自己的 OpenSSL。列出软件包文件夹以确认您服务器上安装的确切版本:

dir "C:Program FilesTableauTableau Serverpackages"

您将看到一个名为 apache.X.Y.Z 的文件夹(例如 apache.20243.24.1015.1532)。切换到其 bin 目录,替换为您自己的版本号:

cd "C:Program FilesTableauTableau Serverpackagesapache.20243.24.1015.1532bin"

第 3 步:创建私钥

生成一个 2048 位 RSA 私钥。将 tableau 替换为您喜欢的任何文件名主干;密钥和 CSR 将共享该主干:

openssl.exe genrsa -out tableau.key 2048

请妥善保管 tableau.key。这是与 CA 将要签发的证书配对的私钥,没有它 Tableau Server 就无法提供 TLS 服务。Tableau 文档中的示例使用了 4096 而非 2048;两者都被公共 CA 所接受。

第 4 步:生成带有 SAN 扩展的 CSR

现代浏览器和 TLS 客户端会根据使用者备用名称(Subject Alternative Name,SAN)扩展来验证证书,而不仅仅依据通用名称,因此请在请求中包含 SAN 列表。将 DNS: 后面的主机名替换为 Tableau Server 必须响应的 FQDN:

openssl.exe req -new -key tableau.key -out tableau.csr -addext "subjectAltName=DNS:tableau.yourdomain.com,DNS:viz.yourdomain.com"

如果 OpenSSL 提示无法加载配置文件(在 Windows 上关于 /usr/local/ssl/openssl.cnf 的警告可以忽略,但如果是严重错误则会中止命令),请通过添加 -config ..confopenssl.cnf,明确指向 Tableau 自带的 OpenSSL 配置文件:

openssl.exe req -new -key tableau.key -out tableau.csr -config ..confopenssl.cnf -addext "subjectAltName=DNS:tableau.yourdomain.com,DNS:viz.yourdomain.com"

第 5 步:填写您的组织信息

OpenSSL 会提示您输入将写入 CSR 可分辨名称的各个字段。请使用准确的法定信息:公共证书颁发机构会拒绝与企业记录不符的信息。

  • Country Name(2 位字母代码):您所在国家的两位字母 ISO 代码,例如 USGBDE
  • State or Province Name:您组织注册所在州或省的全名,例如 California。不要使用两位字母缩写。
  • Locality Name:完整的城市名称,例如 San Francisco
  • Organization Name:您公司的完整法定名称,例如 Your Company LLC。对于域名验证(DV)证书,此字段不会被验证,可以留空,但不要直接按回车:OpenSSL 会插入其配置中定义的默认值,而标准配置默认使用 Internet Widgits Pty Ltd,这会出现在您的 CSR 中。输入单个句点(.)以使该字段真正保持为空。国家和州字段同理,其标准默认值分别为 AUSome-State
  • Organizational Unit Name:已弃用,公共 CA 不再签发。按回车跳过。
  • Common Name:用户访问 Tableau Server 时输入的确切 FQDN,例如 tableau.yourdomain.com。请与您第一个 SAN 条目使用相同的值。
  • Email Address:有效的联系电子邮箱,或按回车跳过。
  • A challenge passwordAn optional company name:两者都留空。公共 CA 会忽略这些字段。

提示结束后,OpenSSL 会将 CSR 写入当前目录下的 tableau.csr。请继续阅读下方的验证 CSR部分。

在 Linux 版 Tableau Server 上生成 CSR

第 1 步:找到捆绑的 Apache bin 目录

Linux 版 Tableau Server 在 /opt/tableau/tableau_server/packages/apache.X.Y.Z/bin 中自带了它自己的 OpenSSL。列出软件包文件夹以找到您服务器上安装的确切版本:

ls /opt/tableau/tableau_server/packages/ | grep apache

您将看到一个名为 apache.X.Y.Z 的目录(例如 apache.20243.24.1015.1532)。请在以下命令中使用该确切名称。您无需 cd 进入 bin 目录;下方示例使用绝对路径调用捆绑的 OpenSSL,因此您可以从主目录直接运行这些命令。

第 2 步:创建私钥

生成一个 2048 位 RSA 私钥,通过绝对路径调用捆绑的 OpenSSL 二进制文件。请将版本号替换为您自己的版本:

sudo /opt/tableau/tableau_server/packages/apache.20243.24.1015.1532/bin/openssl genrsa -out tableau.key 2048

请妥善保管 tableau.key,并确保只有将执行导入操作的用户可以读取。Tableau 文档中的示例使用了 4096 而非 2048;两者都被公共 CA 所接受。

第 3 步:生成带有 SAN 扩展的 CSR

直接在命令行中包含使用者备用名称列表。将 DNS: 后面的主机名替换为 Tableau Server 必须响应的 FQDN:

sudo /opt/tableau/tableau_server/packages/apache.20243.24.1015.1532/bin/openssl req -new -key tableau.key -out tableau.csr -addext "subjectAltName=DNS:tableau.yourdomain.com,DNS:viz.yourdomain.com"

如果 OpenSSL 因无法加载默认配置而拒绝启动,请通过添加 -config 标志,指向 Tableau 自带的 OpenSSL 配置:

sudo /opt/tableau/tableau_server/packages/apache.20243.24.1015.1532/bin/openssl req -new -key tableau.key -out tableau.csr -config /opt/tableau/tableau_server/packages/apache.20243.24.1015.1532/conf/openssl.cnf -addext "subjectAltName=DNS:tableau.yourdomain.com,DNS:viz.yourdomain.com"

第 4 步:填写您的组织信息

OpenSSL 会提示您输入与 Windows 上相同的可分辨名称字段。请使用准确的法定信息:

  • Country Name(2 位字母代码):两位字母的 ISO 国家代码,例如 CA
  • State or Province Name:州或省的全名,例如 Ontario
  • Locality Name:完整的城市名称,例如 Ottawa
  • Organization Name:您公司的完整法定名称,例如 Your Company LLC。对于域名验证(DV)证书,此字段不会被验证,可以留空,但不要直接按回车:OpenSSL 会插入其配置中定义的默认值,而标准配置默认使用 Internet Widgits Pty Ltd,这会出现在您的 CSR 中。输入单个句点(.)以使该字段真正保持为空。国家和州字段同理,其标准默认值分别为 AUSome-State
  • Organizational Unit Name:已弃用。按回车跳过。
  • Common Name:Tableau Server 将要提供服务的确切 FQDN,例如 tableau.yourdomain.com。请与您第一个 SAN 条目使用相同的值。
  • Email Address:有效的联系电子邮箱,或按回车跳过。
  • A challenge passwordAn optional company name:两者都留空。

OpenSSL 会将 CSR 写入您运行命令所在目录下的 tableau.csr 文件。

提交前验证 CSR

在 CA 验证之前,先检查可分辨名称中的拼写错误或缺失的 SAN 条目。使用同一个捆绑的 OpenSSL 打印 CSR。在 Linux 上:

sudo /opt/tableau/tableau_server/packages/apache.20243.24.1015.1532/bin/openssl req -noout -text -in tableau.csr

在 Windows 上,从同一个 Apache bin 目录:

openssl.exe req -noout -text -in tableau.csr

请确认输出中的三项内容:Subject 显示的是您确切的 DN,X509v3 Subject Alternative Name 部分列出了您需要的每个主机名,以及 Public-Key 大小与您生成的密钥相符。您也可以将 CSR 粘贴到我们的CSR 解码器中,在浏览器中进行相同的检查。

将 CSR 提交给您的证书颁发机构

在文本编辑器中打开 tableau.csr。该文件是纯文本,以 -----BEGIN CERTIFICATE REQUEST----- 开头,以 -----END CERTIFICATE REQUEST----- 结尾。复制整个内容块,包括这些头部和尾部行,然后在与您的 CA 结账时粘贴到 CSR 字段中。

如果您不想手动使用文本编辑器,我们的CSR 生成器可以在浏览器中使用相同的 OpenSSL 默认设置生成 CSR 和私钥,随时可以粘贴到您 CA 的结账流程中。

在 Tableau Server 上安装签发的证书

一旦 CA 验证了您的请求,并通过电子邮件将签发的证书连同证书链(CA 捆绑包)发送给您,您需要通过 Tableau Services Manager 导入所有三个文件(证书、私钥、证书链)。您可以使用位于 https://<tsm-host>:8850 的 TSM 网页界面,在Configuration > Security > External SSL下操作,也可以使用 tsm 命令行,例如:

tsm security external-ssl enable --cert-file tableau.crt --key-file tableau.key --chain-file tableau-chain.crt
tsm pending-changes apply

请注意文件扩展名。Tableau 要求证书链文件以 .crt 结尾,而不是 .pem.ca-bundle,证书文件也必须为 .crt。证书颁发机构通常会以 .ca-bundle 文件的形式提供证书链,因此请在导入前重命名该文件,否则 Tableau 会拒绝它。

Tableau Server 会重启以加载新证书。有关完整流程(文件格式、密码短语处理、安装后验证),请参阅我们的如何在 Tableau Server 上安装 SSL 证书指南。

常见问题

Tableau Server 是否有内置的 CSR 生成器?

没有。Tableau Services Manager 可以导入证书和密钥,但不能创建它们。Tableau Server 捆绑了一个包含 OpenSSL 的 Apache 构建版本,因此您需要在 Tableau Server 节点上使用该捆绑的 OpenSSL 生成私钥和 CSR,将 CSR 提交给证书颁发机构,然后通过 TSM 将签发的证书连同证书链导入回去。

Tableau Server 上捆绑的 OpenSSL 二进制文件在哪里?

在 Windows 上,该二进制文件位于 C:Program FilesTableauTableau Serverpackagesapache.X.Y.Zbinopenssl.exe。在 Linux 上,位于 /opt/tableau/tableau_server/packages/apache.X.Y.Z/bin/opensslX.Y.Z 部分会随每次 Tableau Server 发布而变化,因此请列出 packages 目录以找到您服务器上的确切文件夹名称。

为什么 OpenSSL 会警告缺少配置文件?

捆绑的 OpenSSL 默认会查找 /usr/local/ssl/openssl.cnf,而 Tableau Server 安装中并不存在该文件。警告可以忽略;但如果是严重错误,则说明 OpenSSL 需要明确指定配置文件。在 Windows 上(当您已 cd 进入 Apache bin 目录时)添加 -config ..confopenssl.cnf,或在 Linux 上添加 -config /opt/tableau/tableau_server/packages/apache.X.Y.Z/conf/openssl.cnf。该配置文件随 Tableau 一同分发,并已针对捆绑的 OpenSSL 进行了配置。

私钥应该用密码短语加密吗?

Tableau Services Manager 既接受未加密的私钥,也接受受密码短语保护的私钥。本指南中的命令调用 openssl genrsa 时未使用 -aes256,因此生成的是未加密的 PEM 密钥,TSM 可以直接导入而无需提示输入密码短语。如果您希望使用受密码短语保护的密钥,请在 genrsa 命令中添加 -aes256,并将相同的密码短语提供给 TSM(可以在网页界面的 SSL certificate key passphrase 字段中输入,或在 tsm security external-ssl enable 命令行中使用 –passphrase)。请注意,受密码短语保护的密钥不能重复用于 SAML。

我可以在另一台机器上生成 CSR,之后再导入吗?

可以,但前提是您也要转移私钥。CSR 和私钥是成对的:CA 对 CSR 进行签名,而签发的证书只能与匹配的私钥配合使用。如果您在工作站上生成密钥和 CSR,请在通过 TSM 导入签发证书之前,通过安全通道将这两个文件复制到 Tableau Server 节点。Tableau Server 本身不会生成密钥,因此密钥对在哪里创建并不重要,只要您在安装时也将密钥交给 TSM 即可。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.