本教程将向您展示如何在 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 代码,例如 US、GB、DE。
- State or Province Name:您组织注册所在州或省的全名,例如 California。不要使用两位字母缩写。
- Locality Name:完整的城市名称,例如 San Francisco。
- Organization Name:您公司的完整法定名称,例如 Your Company LLC。对于域名验证(DV)证书,此字段不会被验证,可以留空,但不要直接按回车:OpenSSL 会插入其配置中定义的默认值,而标准配置默认使用 Internet Widgits Pty Ltd,这会出现在您的 CSR 中。输入单个句点(
.)以使该字段真正保持为空。国家和州字段同理,其标准默认值分别为 AU 和 Some-State。 - Organizational Unit Name:已弃用,公共 CA 不再签发。按回车跳过。
- Common Name:用户访问 Tableau Server 时输入的确切 FQDN,例如 tableau.yourdomain.com。请与您第一个 SAN 条目使用相同的值。
- Email Address:有效的联系电子邮箱,或按回车跳过。
- A challenge password 和 An 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 中。输入单个句点(
.)以使该字段真正保持为空。国家和州字段同理,其标准默认值分别为 AU 和 Some-State。 - Organizational Unit Name:已弃用。按回车跳过。
- Common Name:Tableau Server 将要提供服务的确切 FQDN,例如 tableau.yourdomain.com。请与您第一个 SAN 条目使用相同的值。
- Email Address:有效的联系电子邮箱,或按回车跳过。
- A challenge password 和 An 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 Services Manager 可以导入证书和密钥,但不能创建它们。Tableau Server 捆绑了一个包含 OpenSSL 的 Apache 构建版本,因此您需要在 Tableau Server 节点上使用该捆绑的 OpenSSL 生成私钥和 CSR,将 CSR 提交给证书颁发机构,然后通过 TSM 将签发的证书连同证书链导入回去。
在 Windows 上,该二进制文件位于 C:Program FilesTableauTableau Serverpackagesapache.X.Y.Zbinopenssl.exe。在 Linux 上,位于 /opt/tableau/tableau_server/packages/apache.X.Y.Z/bin/openssl。X.Y.Z 部分会随每次 Tableau Server 发布而变化,因此请列出 packages 目录以找到您服务器上的确切文件夹名称。
捆绑的 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 和私钥是成对的:CA 对 CSR 进行签名,而签发的证书只能与匹配的私钥配合使用。如果您在工作站上生成密钥和 CSR,请在通过 TSM 导入签发证书之前,通过安全通道将这两个文件复制到 Tableau Server 节点。Tableau Server 本身不会生成密钥,因此密钥对在哪里创建并不重要,只要您在安装时也将密钥交给 TSM 即可。


