ssl - Jupyterhub 子域和多个 ssl 证书

标签 ssl https ssl-certificate wildcard-subdomain jupyterhub

我正在设置多用户 JupyterHub 服务器。我已经实现了 JupyterHub 文档中推荐的子域机制。用户在其 Web 浏览器中输入服务器的登录 URL,例如 https://notebook.example.com ,当他们登录时,JupyterHub 会为他们创建一个子域,例如 https://username.notebook.example.com .

我的通配符 DNS 工作正常。问题是此设置似乎需要多个 SSL 证书。我的证书颁发机构非常友好地为我提供了 notebook.example.com 和通配符证书 *.notebook.example.com 的证书。如果我对 notebook.example.com 证书有这样的配置:

c.JupyterHub.ssl_cert = '/etc/pki/tls/certs/notebook.example.com.cer'

然后用户的浏览器将接受登录 URL 的证书,但当用户被转发到用户的子域 URL 时,将给出无法识别的证书消息。如果我使用其他证书,例如

c.JupyterHub.ssl_cert = '/etc/pki/tls/certs/wildcard.notebook.example.com.cer'

然后用户的浏览器会提示“notebook.example.com”与证书中的 *.notebook.example.com 不匹配,但是当用户被转发到他们的子域时会接受证书。

显然,我可以告诉用户在某种情况下同意证书异常(exception),但这可能会造成长期支持问题(我必须指导他们如何接受所​​有不同浏览器无法识别的证书;他们可能养成盲目接受证书的习惯)。

有没有一种方法可以将 JupyterHub 配置为使用一个证书进行初始登录,而对子域使用另一个证书?

最佳答案

我想我自己找到了解决方案。我向我的授权机构发送了一份 CSR 请求,要求获得多域证书,其中包括 notebook.example.com 和 *.notebook.example.com。我按照此处的说明创建了 CSR:http://apetec.com/support/generatesan-csr.htm

令我惊讶的是,他们接受了使用通配符主机名的多域证书请求。我仍在测试,但看起来它可以与 Jupyterhub 的登录 URL 和子域 URL 一起使用,没有问题。

关于ssl - Jupyterhub 子域和多个 ssl 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260539/

相关文章:

c# - .net 2.0 中的 SSL 支持

azure - 通过 ARM 模板部署在 Azure Front Door 自定义域上启用 HTTPS

java - Android 通过 SSL 使用 NTLM 失败

java - 无法在三星智能电视上使用 Flash 加载 HTTPS 验证码

java - 收到致命警报:SSLHandshakeException中的handshake_failure

.net - wsHTTPBinding 身份验证错误

ubuntu - 为 Ominbus 安装程序的 GitLab 社区版启用 HTTPS 自签名证书

ssl - Golang : how to specify certificate in TLS config for http client

powershell - 使用 PowerShell 在根目录中禁用证书

ssl - C++ Rest sdk https服务器实现(Windows)