SSL (AEN 4.1.1) ¶
Anaconda Enterprise Notebooks (AEN)服务器用于nginx将所有传入的 http(s) 请求代理到在本地端口上运行的服务器。此外,nginx用于 SSL 终止。默认设置使用 http(非 SSL),因为配置 SSL 需要证书文件,并且每个企业都有自己的证书文件。
当前不支持带有密码的 SSL 证书。
该www.enterprise.conf文件是nginx .conf用于 Anaconda Enterprise Notebooks的默认文件。它会/etc/nginx/conf.d在服务器安装期间复制到该
目录中。
注意:本文档适用于您在网关 安装并注册到服务器后设置 SSL 的情况。
所需文件¶
要在 AEN 上配置 SSL,您将需要以下文件
- 服务器证书和密钥
- 服务器CA 包
- 网关证书和密钥
- 网关CA 包
- 复制网关证书和密钥来
/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是一个用于 SSL 配置的 nginx 配置文件。它设置为使用调用的证书文件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.在管理设置中,在数据中心下选择网关并选中 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。我们建议将Compute与网关安装在同一台机器上,并http://localhost:5002在将其添加为资源时使用URL 值。
每个计算节点都需要一个网关。
安全提醒¶
证书文件的权限需要正确设置,以防止其他人读取它们。只有 root 用户需要能够读取证书文件,因为它nginx是由 root 运行的。
假设证书文件被称为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
当这些条件为真时启用它会导致服务器和网关之间的协议不匹配,并且应用程序将无法正确启动。