2015-12-17 12 views
7

Sono in procinto di configurare un server Juypter su cui ospitare i miei notebook.SSL: WRONG_VERSION_NUMBER durante l'impostazione del server Juypter pubblico

In /home/user/.jupyter/notebook_configuration.py

c.NotebookApp.certfile = u'/home/user/.jupyter/mycert.pem' 
c.NotebookApp.keyfile = u'/home/user/.jupyter/mykey.key' 

E se mi sono imbattuto sulla console

jupyter notebook --ip="ip_address" --port=8000 --certfile=mycert.pem --keyfile mykey.key 

Il server e il certificato funzionato!

Tuttavia, quando ho creato una voce DNS e tentare di routing al server mi sono imbattuto in questo errore

SSL Error on 10 ('ip_address', 63748): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:600) 

Cosa sta succedendo?

risposta

11

Il problema è molto semplice e mi ci è voluto più tempo per capire che avrebbe dovuto davvero.

Per impostazione predefinita, l'indirizzo fornito dalla console è un indirizzo https da indirizzare. https funziona.

Ma se si entra

your_url.com 

che ti prende a http://your_url.com. Se si configurano certificati TSL per il proprio server, le route http non funzionano più e Jupyter non viene fornito con un reindirizzamento a https predefinito.

aggirare: usare https invece

La mia soluzione a lungo termine: I ended up hosting my Jupyter notebook behind apache.

+0

ha funzionato perfettamente, voglio solo aggiungere che il browser potrebbe avvisare che la connessione non è privata se si utilizza HTTPS : // ... ma finché non ti dispiace puoi ignorare questo avvertimento. –

+0

Questo mi ha risparmiato potenzialmente un'ora di ricerca su google per una soluzione. Grazie!!!!!!! –