2017-02-15 2 views
0

Ich richte einen JupyterHub-Server für mehrere Benutzer ein. Ich habe den in der JupyterHub-Dokumentation empfohlenen Subdomänen-Mechanismus implementiert. Ein Benutzer gibt die Login-URL für den Server in seinem Webbrowser ein, z. B. https://notebook.example.com, und wenn er sich anmeldet, erstellt JupyterHub eine Subdomain für sie, z. B. https://username.notebook.example.com.Jupyterhub-Subdomänen und mehrere SSL-Zertifikate

Ich habe die Wildcard-DNS funktioniert gut. Das Problem ist, dass dieses Setup mehrere SSL-Zertifikate erfordert. Meine Zertifizierungsstelle war so freundlich, mir Zertifikate für notebook.example.com und das Wildcard-Zertifikat * .notebook.example.com zu geben. Wenn ich diese Konfiguration für das notebook.example.com Zertifikat:

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

dann den Browser des Benutzers wird das Zertifikat für die Anmelde-URL akzeptieren, wird aber ein nicht erkanntes Zertifikat Nachricht geben, wenn der Benutzer der Subdomain zu Benutzer weitergeleitet wird URL Wenn ich das andere Zertifikat verwende, z.B.

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

dann den Browser des Benutzers wird sich beschweren, dass „notebook.example.com“ stimmt nicht überein * .notebook.example.com in das Zertifikat, sondern wird das Zertifikat akzeptieren, wenn der Benutzer auf ihre Sub-Domain weitergeleitet wird.

Offensichtlich könnte ich den Benutzern sagen, dass sie einer Zertifikatsausnahme in dem einen oder anderen Fall zustimmen, aber dies könnte langfristige Supportprobleme verursachen (ich muss sie anweisen, das unerkannte Zertifikat für alle verschiedenen Browser zu akzeptieren; sie könnten sich angewöhnen, Zertifikate blind anzunehmen.

Gibt es eine Möglichkeit, JupyterHub so zu konfigurieren, dass ein Zertifikat für die Erstanmeldung und ein anderes für Subdomains verwendet wird?

Antwort

0

Ich glaube, ich habe selbst eine Lösung gefunden. Ich habe eine CSR-Anfrage an meine Behörde für ein Multi-Domain-Zertifikat gesendet, das sowohl notebook.example.com als auch * .notebook.example.com enthielt. Ich folgte den Anweisungen hier, um die CSR zu erstellen: http://apetec.com/support/generatesan-csr.htm

Zu meiner Überraschung akzeptierten sie die Anforderung für ein Zertifikat mit mehreren Domänennamen mit einem Hostnamen. Ich teste noch, aber es sieht so aus, als ob es mit der Login URL und der Subdomain URL von Jupyterhub ohne Probleme funktioniert.