2016-04-03 75 views
0

私はEC2からJupyterノートブックを提供しようとしていますが、SSLエラーが発生しています。 私はこのAMIを使用しています:TensorFlow GPU - @nottombrown (ami-8ed4d0e4)。私は自己署名証明書を使用しましたが、それは問題の一部である可能性があります。Jupyter on EC2:SSLエラー

私は、このようなthisthisthisと同様のエラーが発生している他のいくつかのSOの記事を見てきましたが、彼らは全く異なる文脈でエラーを取得していると私は解決策を取得する方法を見つけ出すことはできません(例えばverify=Falseを設定してください)私のために働く。

[E 15:52:44.954 NotebookApp] Exception in callback (<socket._socketobject object at 0x7f5f993dad00>, <function null_wrapper at 0x7f5f99319758>) 
    Traceback (most recent call last): 
     File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 883, in start 
     handler_func(fd_obj, events) 
     File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper 
     return fn(*args, **kwargs) 
     File "/usr/local/lib/python2.7/dist-packages/tornado/netutil.py", line 274, in accept_handler 
     callback(connection, address) 
     File "/usr/local/lib/python2.7/dist-packages/tornado/tcpserver.py", line 239, in _handle_connection 
     do_handshake_on_connect=False) 
     File "/usr/local/lib/python2.7/dist-packages/tornado/netutil.py", line 521, in ssl_wrap_socket 
     return ssl.wrap_socket(socket, **dict(context, **kwargs)) 
     File "/usr/lib/python2.7/ssl.py", line 487, in wrap_socket 
     ciphers=ciphers) 
     File "/usr/lib/python2.7/ssl.py", line 241, in __init__ 
     ciphers) 
    SSLError: [Errno 336265225] _ssl.c:355: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib 

答えて

3

このエラーは、SSL証明書が見つからないことを意味します。

あなたはまだSSL証明書を作成していない場合:these instructionsから

$ mkdir certs 
$ cd certs 
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem 

(:

は、コマンドライン(自分のホームディレクトリから始まる)に次のように入力して1を作成します)

これでSSL証明書を取得しました:

あなたはそれを見つける場所をジュピターに伝える必要があります。

jupyter_notebook_config.pyがある場合はそれをご覧ください(またはjupyter notebook --generate-configを使用して生成する場合)。

c.NotebookApp.certfile = u'/home/ubuntu/certs/mycert.pem' #location of your certificate file

the Jupyter Notebook docsを参照)

とあなたの自己署名SSL証明書は、その場所に実際にあることを確認してください。

は、あなたが以下の行を持っていることを確認します。一般的な間違いは、たとえばcerts.certsと混同することです。このような間違いがあれば、JupyterはあなたのSSL証明書を見つけることができず、その結果、あなたが得ているエラーが発生します。

+2

まだ取得[SSL:WRONG_VERSION_NUMBER]間違ったバージョン番号(_ssl.c:645) – yuchien

0

jupiterノートブックを公開サーバとしてUnbuntu 14.4の下で自己署名証明書を使って実行しているときに、同じエラーが発生しました。私の場合、問題はjupyter_notebook_config.pyファイルのエラーが原因でした。私は間違って設定しましたc.NotebookApp.client_ca = u '/../ mycert.pem'。このラインをコメントアウトして問題を解決しました。

2

WebブラウザでHTTPS接続を使用するようにhttps://を追加してみます。

私が得た:

[W 08:25:56.148 NotebookApp] SSL Error on 9 ('<jupyter-server-ip>', 62862): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:590) 

クロームはHTTP接続を使用しようとしたため。

https://<jupyter-server-ip> 

を使用している場合、それは最終的に動作します:)