启用 HTTPS
MATLAB® Production Server™ 使用 HTTPS 在服务器实例和客户端之间建立安全连接。HTTPS 为客户端提供基于证书的身份验证,以验证与服务器的连接。或者,您可以配置 HTTPS,以便服务器可以提供基于证书的客户端身份验证。有关配置客户端身份验证的更多信息,请参阅 配置客户端身份验证。HTTPS 还在客户端和服务器实例之间提供了加密数据路径。
获取并复制 SSL 证书和密钥
要在服务器实例上设置 HTTPS,您必须将 SSL 证书和相应的私钥保存到服务器实例的
文件夹中。SSL 证书和私钥必须采用 PEM 格式。<instance_root>/x509/
要生成自签名 SSL 证书,您可以使用以下 openssl
命令:
openssl req -x509 -nodes -newkey rsa:4096 -keyout private_key.pem -out cert_chain.pem -days 365
cert_chain.pem
和一个私钥 private_key.pem
。该证书有效期为 365 天。有关更多信息,请参阅 OpenSSL。自签名 SSL 证书适合在测试环境中使用,因为它们提供加密但不提供身份验证。由证书颁发机构 (CA) 签名的 SSL 证书适用于生产环境。
编辑配置文件
要配置 HTTPS,请在服务器实例的 main_config
配置文件中指定以下属性:
https
:HTTPS 端口x509-cert-chain
:PEM 格式的证书链中的有效证书x509-private-key
:PEM 格式的有效私钥
在服务器上设置 https
属性时,必须同时设置 x509-cert-chain
和 x509-private-key
属性;否则服务器无法启动。有关服务器配置文件的更多信息,请参阅 Server Configuration 属性。
以下配置摘录配置了一个服务器实例,以接受端口 port 上的安全连接,使用存储在 ./x509/cert_chain.pem
中的证书和存储在 ./x509/private_key.pem
中的未加密的私钥。
...
--https port
--x509-cert-chain ./x509/cert_chain.pem
--x509-private-key ./x509/private_key.pem
...
在需要比未加密私钥提供的安全性更高的安全性的生产设置中,请使用加密私钥。您在具有所有者只读访问权限的文件中指定用于解密私钥的密码,并使用 x509-passphrase
属性将其告知服务器实例。
...
--https port
--x509-cert-chain ./x509/cert_chain.pem
--x509-private-key ./x509/private_key.pem
--x509-passphrase ./x509/key_passphrase
...
您必须设置 http
属性、https
属性或两个属性才能启动服务器。为了确保客户端仅使用 HTTPS 而不是 HTTP 与服务器通信,必须禁用 http
属性。如果同时启用 https
和 http
属性,客户端可以使用 HTTPS 和 HTTP 与服务器通信。建议只启用 https
属性,除非需要 HTTP 支持。