一些企业将 SSL 检查作为其网络环境的一部分,用于检查、跟踪和控制网络流量。
使用 SSL 检查时,Web 代理充当实际客户端的服务器,然后充当实际服务器的客户端。为了防止客户端看到安全警告,Web 代理必须代表服务器向客户端提供有效的 SSL/TLS 证书。如果没有有效的 SSL/TLS 证书,客户端可能不信任 Web 代理,并可能阻止或警告用户其连接不安全。
SSL 检查有时与中间机器 (MITM) 相关联。
假设已设置使用 SSL 检查的 Web 代理。此外,还假设客户端计算机在操作系统级别配置为接受 SSL/TLS 证书,以便它们可以与 Web 代理进行通信。
即使有操作系统级别受信任的证书,客户端计算机也必须配置为:
或者,您可以在 Web 代理上定义例外,这样 Unity URL 就不会受到 SSL 检查。
要使用 SSL 检查的 Web 代理启用 Unity Package Manager 操作,必须设置 NODE_EXTRA_CA_CERTS 环境变量或使用配置文件设置证书。
必须将证书文件分发给运行 Unity 的每台计算机。然后,必须设置 NODE_EXTRA_CA_CERTS 环境变量,使其值指向证书文件的绝对路径。无论是手动执行此操作还是使用更具可扩展性的方法,都必须在与 Web 代理通信的每台设备上设置证书和环境变量。请遵循以下常规步骤:
.pem 文件分发给每一台有 Unity 实例的计算机。NODE_EXTRA_CA_CERTS 环境变量。请参阅创建命令文件以设置环境变量和打开应用程序。在以下示例中,mycert.pem 是证书的名称,存在于用户的主目录中。
set NODE_EXTRA_CA_CERTS=C:\Users\username\mycert.pem
export NODE_EXTRA_CA_CERTS=/Users/username/mycert.pem
您可以在 Node.js 文档中找到有关 NODE_EXTRA_CA_CERTS 环境变量的更多信息。
如果无法使用 NODE_EXTRA_CA_CERTS 环境变量设置证书以启用 Unity Package Manager 操作,请遵循此流程。
注意:无论是手动添加或更新配置文件还是使用更具可扩展性的方法,都必须将添加或更新应用到每一台客户端计算机上。
定位到 upmconfig.toml 全局配置文件。如果文件尚不存在,请创建一个空文本文件。
为自定义证书颁发机构创建一个包含一个或多个证书的文本文件。该文件必须包含一个或多个以隐私增强邮件 (PEM) 格式存储的可信证书。例如:
-----BEGIN CERTIFICATE-----
MIIC+zCCAeOgAwIBAgIJAO0U6hVJnbvjMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
BAMMCWxvY2FsaG9zdDAeFw0xOTAzMTIwMTIxMzRaFw0yOTAzMDkwMTIxMzRaMBQx
(additional lines omitted for conciseness)
LFwHSUdqk0lJK4b0mCwyTHNvYO1IDziE5EKwfuaKVgOa62iCHVahgIVa+een4EfS
hCCr3M3cq11Mi+mnRi1scxxrOno4OEEChWg2szZLlxBrkVJllrrq620XJ6RLB/8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
(additional lines omitted for conciseness)
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----
尽管 Unity 支持将文件保存在文件系统中的任何位置,但建议将此文件与全局配置文件保存在同一个文件夹中。
在全局配置文件中,添加 caFile 键,并将其值设置为 PEM 文件的绝对路径。重要提示:在 TOML 文件中设置 Windows 路径时,请使用正斜杠 (/) 或双反斜杠 (\\)。不要使用单个反斜杠 (\),因为它们是标记转义序列的特殊字符,可能导致 TOML 解析错误。
Windows 示例
caFile = "C:\\ProgramData\\Unity\\config\\cert.pem"
macOS 和 Linux 示例
caFile = "/etc/cert.pem"