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 包
  1. 复制网关证书和密钥来/opt/wakari/wakari-gateway/etc/网关gateway.crtgateway.key
  2. 副本网关CA束/opt/wakari/wakari-server/etc/服务器
  3. 副本服务器证书和密钥来/etc/nginx开启服务器作为 server.crtserver.key
  4. 副本服务器CA束/opt/wakari/wakari-gateway/etc/网关

如果您拥有由私有根 CA 和/或中间机构签署的证书,则以下必须为真

  • 所述网关CA束需要包含根CA,任何中间和证书。
  • 所述服务器CA捆绑需要是根CA,任何中间体和证书单独的文件。

服务器上配置 SSL

www.enterprise.https.conf是一个用于 SSL 配置的 nginx 配置文件。它设置为使用调用的证书文件server.crtserver.key必须更改这些值以指向您的域的签名证书文件。注意:自签名证书或由私有根 CA 签名的证书需要额外配置

执行以下步骤root

  1. 停止 Nginx: service nginx stop

  2. /etc/nginx/conf.d/www.enterprise.conf文件移动到备份目录。

  3. 复制 /opt/wakari/wakari-server/lib/python2.7/site-packages/

    wk_server/config/www.enterprise.https.conf 归档到 /etc/nginx/conf.d

注意:只有其中之一www.enterprise.confwww.enterprise.https.conf可以在/etc/nginx/conf.d

  1. 编辑/etc/nginx/conf.d/ www.enterprise.https.conf 文件,更改server.crtserver.key值到真正的证书和密钥文件的名称,如果它们是不同的。

  2. 启动nginx: service nginx start

  3. 更新配置文件中的WAKARI_SERVERCDN设置以使用 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
    
  4. 编辑/opt/wakari/wakari-server/etc/wakari/wk-server-config.json和添加

    “verify_gateway_certificate”  “/opt/wakari/wakari-server/etc/gateway.crt”
    
  5. 重新启动 Anaconda Enterprise Notebooks 服务于服务器

    service  wakari -服务器 重启
    
  6. 浏览到 Anaconda Enterprise Notebooks 并验证浏览器是否使用https.

  7. 在管理设置中,在数据中心下选择网关并选中 https 框。

    ../../../_images/ae-notebooks/4.1.1/install/https.png

注意:此步骤可能会返回错误,因为尚未为 SSL 配置网关

网关上配置 SSL

  1. 编辑/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" 
    } 
}
  1. 如果您有一个由私有根 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 ;

如果以下任一情况为真,它可以保持启用状态。

  1. 网关是一个不同的主机上运行的服务器; 或者
  2. 已为网关启用 SSL

如果以下两个条件都为真,则有必要注释掉这一行:

  1. 网关是在同一主机上运行的服务器; 和
  2. 尚未为网关启用 SSL

当这些条件为真时启用它会导致服务器网关之间的协议不匹配,并且应用程序将无法正确启动。