title: SSL error running Jupyter Notebook on Google Cloud VM
body: <p>I've set up an instance on a GCP virtual machine and have installed anaconda, torch, etc. and have initialized my Jupyter notebooks (including the config setup). I've mounted my Google storage bucket and everything seems to be okay, except that when I run Jupyter:</p>
  
  <pre><code>~$ jupyter notebook --certfile=/home/username/certs/mycert.pem
  [I 16:18:41.293 NotebookApp] [nb_conda_kernels] enabled, 3 kernels found
  [I 16:18:44.879 NotebookApp] Serving notebooks from local directory: 
  /home/username
  [I 16:18:44.879 NotebookApp] 0 active kernels 
  [I 16:18:44.879 NotebookApp] The Jupyter Notebook is running at: 
  https://0.0.0.0:8888/
  [I 16:18:44.879 NotebookApp] Use Control-C to stop this server and shut 
  down all kernels (twice to skip confirmation).
  </code></pre>
  
  <p>I can access it on my VM's external IP: </p>
  
  <pre><code>https://xx.xxx.xxx.xx:8888
  </code></pre>
  
  <p>But as soon as I do that, I get this error:</p>
  
  <pre><code>ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert 
  certificate unknown (_ssl.c:645)
  </code></pre>
  
  <p>Full traceback:</p>
  
  <pre><code>[W 16:18:52.343 NotebookApp] SSL Error on 11 ('73.43.19.83', 56932): 
  [SSL: SSLV3_ALERT_CERTIFICATE
  _UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
  [W 16:18:52.343 NotebookApp] SSL Error on 14 ('73.43.19.83', 56936): [SSL: SSLV3_ALERT_CERTIFICATE
  _UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
  [E 16:18:52.343 NotebookApp] Uncaught exception
      Traceback (most recent call last):
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
  ine 693, in _server_request_loop
          ret = yield conn.read_response(request_delegate)
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
  run
          value = future.result()
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
  15, in result
          raise_exc_info(self._exc_info)
        File "&lt;string&gt;", line 3, in raise_exc_info
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 876, in 
  run
          yielded = self.gen.throw(*exc_info)
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
  ine 168, in _read_message
          quiet_exceptions=iostream.StreamClosedError)
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
  run
          value = future.result()
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
  15, in result
          raise_exc_info(self._exc_info)
        File "&lt;string&gt;", line 3, in raise_exc_info
        File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/iostream.py", line 124
  3, in _do_ssl_handshake
          self.socket.do_handshake()
        File "/home/username/anaconda3/lib/python3.5/ssl.py", line 988, in do_handshake
          self._sslobj.do_handshake()
        File "/home/username/anaconda3/lib/python3.5/ssl.py", line 633, in do_handshake
          self._sslobj.do_handshake()
      ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:6
  45)
  </code></pre>
  
  <p>This is on a Linux VM. Locally, I'm on a PC. I've already tried rewriting the config file for Jupyter but I'm stuck on this problem. None of the solutions I've found online have worked.</p>