我設置了一個多用戶JupyterHub服務器。我已經實現了JupyterHub文檔中推薦的子域機制。用戶在其Web瀏覽器中鍵入服務器的登錄URL(例如,https://notebook.example.com),並在登錄時JupyterHub爲其創建子域,例如https://username.notebook.example.com。Jupyterhub子域名和多個SSL證書
我有通配符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在證書中,但是當用戶轉發到自己的子域名將接受證書。
很明顯,我可以告訴用戶在一種情況下或另一種情況下同意證書異常,但這可能會產生長期支持問題(我必須指導他們如何接受所有不同瀏覽器的無法識別的證書;他們可能養成了盲目接受證書的習慣)。
有沒有配置JupyterHub使用一個證書進行初始登錄和不同子域的方法?