安全设置
目录
安全设置¶
这里介绍一些您在生产部署中可能需要配置的常见安全字段。
启用 TLS¶
作为 Web 应用程序,Dask-Gateway 的任何生产部署都应启用 TLS 加密 (HTTPS) 运行。有几种常见的启用方式。
使用您自己的 TLS 证书¶
如果您有自己的 TLS 证书/密钥对,可以在 dask_gateway_config.py
文件中指定文件位置。相关的配置字段是
c.Proxy.tls_cert
c.Proxy.tls_key
c.Proxy.tls_cert = "/path/to/my.cert"
c.Proxy.tls_key = "/path/to/my.key"
请注意,证书和密钥必须存储在只有管理员用户可读的安全位置。
使用 letsencrypt¶
也可以使用 letsencrypt 自动获取 TLS 证书。如果您的 letsencrypt 正在使用默认选项运行,您可以通过在 dask_gateway_config.py
文件中添加以下内容来配置此项:
c.Proxy.tls_cert = "/etc/letsencrypt/live/{FQDN}/fullchain.pem"
c.Proxy.tls_key = "/etc/letsencrpyt/live/{FQDN}/privkey.pem"
其中 FQDN
是您服务器的完全限定域名。
代理身份验证令牌¶
为了保护代理和网关服务器之间的通信,使用了秘密令牌。默认情况下,此令牌会自动生成。如果代理是外部管理的(即 c.Proxy.externally_managed
设置为 true),管理员则需要明确配置此令牌。您有两种方法可以实现这一点:
在您的
dask_gateway_config.py
文件中配置c.Proxy.api_token
。由于令牌应保密,此配置文件必须只能由管理员用户读取。设置
DASK_GATEWAY_PROXY_TOKEN
环境变量。出于安全原因,此环境变量应该只能被网关服务器和代理看到。
无论哪种情况,这两个选项都需要一个 32 字节的随机字符串,编码为十六进制。一种创建这些字符串的方法是通过 openssl
命令行工具 (CLI):
$ openssl rand -hex 32