SSL (AEN 4.1.2) ¶
Anaconda Enterprise Notebooks (AEN) 服务器用于NGINX
将所有传入的 http(s) 请求代理到在本地端口上运行的服务器,以及 SSL 终止。默认设置使用 http(非 SSL),因为配置 SSL 需要证书文件,并且每个企业都有自己的证书文件。
当前不支持带有密码的 SSL 证书。
该www.enterprise.conf
文件是NGINX
.conf
用于 Anaconda Enterprise Notebooks的默认文件。它会/etc/nginx/conf.d
在服务器安装期间复制到该
目录中。
注意:本文档适用于在网关安装并注册到服务器后设置 SSL 的情况。
所需文件¶
要在 AEN 上配置 SSL,您需要以下文件
- 服务器证书和密钥
- 服务器 CA 包
- 网关证书和密钥
- 网关 CA 包
在 AEN 上配置 SSL:
- 将网关证书和密钥复制到网关
/opt/wakari/wakari-gateway/etc/
上作为gateway.crt
和gateway.key
。 - 将网关 CA 包复制到
/opt/wakari/wakari-server/etc/
服务器上 - 将服务器证书和密钥复制到服务器
/etc/nginx
上作为server.crt
和server.key
- 将服务器 CA 包复制到
/opt/wakari/wakari-gateway/etc/
网关上
如果您拥有由私有根 CA 和/或中间机构签署的证书,则必须满足以下条件:
- 网关 CA 包可以包含根 CA、任何中间授权和证书
- 服务器 CA 包必须分成单独的文件,用于根 CA、任何中间和证书
在服务器上配置 SSL ¶
这www.enterprise.https.conf
是NGINX
SSL 配置的配置文件。它使用server.crt
和server.key
证书文件,但必须更改这些值以指向您的域的签名证书文件。
注意:自签名证书或由私有根 CA 签名的证书需要额外配置。
执行以下步骤root
:
停止
NGINX
:service nginx stop
将
/etc/nginx/conf.d/www.enterprise.conf
文件移动到备份目录- 复制
/opt/wakari/wakari-server/lib/python2.7/site-packages/
wk_server/config/www.enterprise.https.conf
归档到/etc/nginx/conf.d
注意:只有其中之一
www.enterprise.conf
或www.enterprise.https.conf
可以在/etc/nginx/conf.d
- 复制
编辑/etc/nginx/conf.d/ www.enterprise.https.conf 文件,改变
server.crt
和server.key
价值的真实证书的名称和密钥文件,如果它们是不同的开始
NGINX
:service nginx start
更新配置文件中的
WAKARI_SERVER
和CDN
设置以使用 https 而不是 http。需要修改的配置文件有:/ opt / wakari / wakari - server / etc / wakari / config . json / opt / wakari / wakari - gateway / etc / wakari / wk - gateway - config 。json / opt / wakari / wakari - compute / etc / wakari / config 。json
编辑
/opt/wakari/wakari-server/etc/wakari/wk-server-config.json
和添加“verify_gateway_certificate” : “/opt/wakari/wakari-server/etc/gateway.crt”
在服务器上重启 Anaconda Enterprise Notebooks 服务:
service wakari -服务器 重启
浏览到 Anaconda Enterprise Notebooks 并验证浏览器是否使用
https
.在管理设置中,选择并选中该框。
Data Centers
Gateway
https
注意:此步骤可能会返回错误,因为尚未为 SSL 配置网关。
在网关上配置 SSL ¶
编辑
/opt/wakari/wakari-compute/etc/wakari/config.json
以将 http 更改为 https修改
/opt/wakari/wakari-gateway/etc/wakari/wk-gateway-config.json
配置文件并添加:{ EXISTING_CONFIGURATION , "https" : { "key" : "/opt/wakari/wakari-gateway/etc/gateway.key" , "cert" : "/opt/wakari/wakari-gateway/etc/gateway.crt" } }
如果您有一个由私有根 CA(和/或中间机构)签名的服务器证书,请将以下内容添加到
https
密钥中“ca” : [ “/opt/wakari/wakari-gateway/etc/server.crt” ]
注意:
ca
密钥必须包含 CA 根路径、任何中间路径和服务器证书的单独值重启网关:
sudo service wakari-gateway restart
计算节点上的 SSL ¶
Anaconda Enterprise 不支持计算节点上的直接 SSL。如果您需要在计算节点上使用 SSL,您必须将每个计算节点安装在同一台服务器上作为网关使用http://localhost:5002
URL 值,同时将其添加为资源,并且您必须为每个计算节点使用一个网关。
安全提醒¶
证书文件的权限需要正确设置,以防止其他人读取它们。由于NGINX
由 root 运行,因此只有 root 用户需要对 cert 文件的读取访问权限。
假设证书文件被称为server.crt
并且server.key
,使用root
帐户设置权限,如下所示:
chmod 600 服务器。关键
chmod 600 服务器。资源管理器
严格的传输安全标头¶
www.enterprise.https.conf
文件中默认启用 Strict-Transport-Security
。
add_header Strict - Transport - Security max - age = 31536000 ;
如果以下任一情况为真,它可以保持启用状态。
- 网关运行在与服务器不同的主机上;或者
- 已为网关启用 SSL
如果以下两个条件都为真,则有必要注释掉这一行:
- 网关与服务器运行在同一台主机上;和
- 尚未为网关启用 SSL
当这些条件为真时启用它会导致服务器和网关之间的协议不匹配,并且应用程序将无法正确启动。