示例:SSL 证书 - 生成密钥和 CSR
重要信息:此示例旨在为具有 SSL 要求和配置经验的 IT 专业人员提供一般指引。本文中描述的过程只是您可用于生成所需文件的许多可用方法之一。应将此处描述的过程视为一个示例,而不是建议。
将 Tableau Server 配置为使用安全套接字层 (SSL) 加密时,将可帮助确保对服务器的访问是安全的,并且在 Tableau Server 和 Tableau Desktop 之间发送的数据受到保护。
期望使用 Linux 版 Tableau Server?请参阅示例:SSL 证书 - 生成密钥和 CSR(链接在新窗口中打开)。
Tableau Server 使用 Apache,其中包括了 OpenSSL(链接在新窗口中打开)。您可以使用 OpenSSL 工具包来生成密钥文件和随后可用于获取签名 SSL 证书的证书签名请求 (CSR)。
注意:从 Tableau Server 版本 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本开始,Tableau Server 运行 OpenSSL 3.1。
生成密钥和 CSR 的步骤
若要将 Tableau Server 配置为使用 SSL,您必须有 SSL 证书。若要获取 SSL 证书,请完成以下步骤:
- 设置 OpenSSL 配置环境变量(可选)。
- 生成密钥文件。
- 创建证书签名请求 (CSR)。
- 将 CSR 发送给证书颁发机构 (CA) 以获取 SSL 证书。
- 使用密钥和证书将 Tableau Server 配置为使用 SSL。
您可以在 Apache Software Foundation 网站的 SSL 常见问题页面(链接在新窗口中打开)上找到其他信息。
针对多个域名配置证书
Tableau Server 允许为多个域使用 SSL。若要设置此环境,您需要修改 OpenSSL 配置文件 openssl.conf,并在 Tableau Server 上配置使用者备用名称 (SAN) 证书。请参见下面的适用于 SAN 证书:修改 OpenSSL 配置文件。
设置 OpenSSL 配置环境变量(可选)
为了避免在每次使用 openssl.exe 时都使用 -config
参数,您可以使用 OPENSSL_CONF
环境变量来确保使用正确的配置文件,并且在本文后面的过程中进行的所有配置更改均生成预期结果(例如,您必须设置环境变量来向证书中添加 SAN)。
以管理员身份打开命令提示符,并运行以下命令:
set OPENSSL_CONF=c:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf\openssl.cnf
注意:在设置 Open SSL 配置环境变量时,请不要将文件路径括在引号内。
生成密钥
生成一个将用于生成证书签名请求的密钥文件。
以管理员身份打开命令提示符,并导航到 Tableau Server 的 Apache 目录。例如,运行以下命令:
cd C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\bin
运行以下命令以创建密钥文件:
openssl.exe genrsa -out <yourcertname>.key 4096
注意:- 此命令为密钥使用 4096 位长度。您应选择至少 2048 位的位长度,因为使用较短位长度加密的通信不够安全。如果未提供值,则使用 512 位。
- 若要使用 Tableau Server 版本 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本创建 PKCS#1 RSA 密钥,在运行基于 OpenSSL 3.1 的
openssl genrsa
命令时,您必须使用附加选项-traditional
。有关该选项的详细信息,请参见 https://www.openssl.org/docs/man3.1/man1/openssl-rsa.html(链接在新窗口中打开)。
创建证书签名请求以发送到证书颁发机构
使用您在上面过程中创建的密钥文件来生成证书签名请求 (CSR)。您将 CSR 发送到证书颁发机构 (CA) 来获取签名的证书。
重要信息:如果要配置 SAN 证书以便为多个域使用 SSL,请首先完成下面的适用于 SAN 证书:修改 OpenSSL 配置文件中的步骤,然后返回到此处来生成 CSR。
运行以下命令以创建证书签名请求 (CSR) 文件:
openssl.exe req -new -key yourcertname.key -out yourcertname.csr
如果未设置 OpenSSL 配置环境变量
OPENSSL_CONF
,您可能会看到以下任一消息:有关配置信息无法加载的错误消息。在这种情况下,请使用以下参数重新键入上面的命令:
-config ..\conf\openssl.cnf
。有关找不到
/usr/local/ssl
目录的警告。此目录在 Windows 上不存在,只需忽略此消息即可。文件已成功创建。
若要设置 OpenSSL 配置环境变量,请参见本文中的设置 OpenSSL 配置环境变量(可选)部分。
出现提示时,输入所需的信息。
注意: 对于“公用名称”,键入 Tableau Server 名称。Tableau Server 名称是将用于访问 Tableau Server 的 URL。举例来说,如果通过在浏览器的地址栏中键入
tableau.example.com
来访问 Tableau Server,则tableau.example.com
是公用名称。如果公用名称未解析为服务器名称,则在浏览器或 Tableau Desktop 尝试连接到 Tableau Server 时将发生错误。
将 CSR 发送到证书颁发机构以获取 SSL 证书
将 CSR 发送到商业证书颁发机构 (CA) 以申请数字证书。有关信息,请参见 Wikipedia 文章证书颁发机构(链接在新窗口中打开),以及可帮助您决定要使用的 CA 的任何相关文章。
使用密钥和证书来配置 Tableau Server
如果您同时有 CA 提供的密钥和证书,则可以将 Tableau Server 配置为使用 SSL。有关步骤,请参见配置外部 SSL。
适用于 SAN 证书:修改 OpenSSL 配置文件
在 OpenSSL 的标准安装中,某些功能默认情况下未启用。若要将 SSL 用于多个域名,请在生成 CSR 之前完成这些步骤以修改 openssl.cnf 文件。
打开 Windows 资源管理器,并浏览到 Tableau Server 的 Apache conf 文件夹。
例如:
C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf
在文本编辑器中打开 openssl.cnf,并查找以下行:
req_extensions = v3_req
此行可能已使用行开头的井号 (#) 被注释掉。
如果该行被注释掉,请通过从行开头移除 # 和空格字符来取消注释。
移动到文件的 [ v3_req ] 部分。前面几行包含以下文本:
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment在 keyUsage 行后面,插入以下行:
subjectAltName = @alt_names
如果要创建自签名 SAN 证书,请执行以下操作以提供用于为证书签名的证书权限:
向 keyUsage 行中添加
cRLSign
和keyCertSign
,使其看起来如下所示:keyUsage = nonRepudiation, digitalSignature, keyEncipherment, cRLSign, keyCertSign
在 keyUsage 行后面,添加以下行:
subjectAltName = @alt_names
在 [alt_names] 部分,提供要用于 SSL 的域名。
DNS.1 = [domain1]
DNS.2 = [domain2]
DNS.3 = [etc]下图以突出显示方式显示结果,包含您将替换为域名的占位符文本。
保存并关闭该文件。
完成上面创建证书签名请求以发送到证书颁发机构部分中的步骤。
其他信息
如果您更希望使用其他版本的 OpenSSL,您可以从 Open SSL for Windows(链接在新窗口中打开) 下载该版本。