[IPython-dev] IPython notebook+nginx proxy+ssl+websockets

Kyle Kelley rgbkrk at gmail.com
Sun Aug 25 16:00:26 EDT 2013


Yay! Got it working (amidst toddler distractions). Had to install from
source and didn't realize the primary cookbook sets it up as a service but
doesn't put it on the path. Totally working now, but having to muck with
MathJax now (can't load from CDN, would like to install locally). :-/


On Sun, Aug 25, 2013 at 12:17 PM, Kyle Kelley <rgbkrk at gmail.com> wrote:

> Interesting. I'm actually installing nginx using the nginx cookbook (
> https://github.com/opscode-cookbooks/nginx). The version on the box is
> rather old, and apparently ignoring my config.
>
> vagrant at ipynb-cookbook-berkshelf:~$ nginx -v
> nginx version: nginx/1.1.19
>
> I'll definitely get a newer version installed pronto! Thanks Min!
>
> -- Kyle
>
>
>
> On Sun, Aug 25, 2013 at 12:00 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>> nginx support for websocket proxying is a relatively recent addition
>> ([docs](http://nginx.org/en/docs/http/websocket.html) suggests 1.3.13.
>>  Is it possible your version doesn't have this support?
>>
>> -MinRK
>>
>>
>> On Sat, Aug 24, 2013 at 12:45 AM, Kyle Kelley <rgbkrk at gmail.com> wrote:
>>
>>> Hey all,
>>>
>>> Has anyone gotten nginx proxying to work when using ssl? I started off
>>> with MinRK's nginx config (
>>> https://twitter.com/minrk/status/329376092420993024), adding on to it
>>> like so:
>>>
>>> server {
>>>     listen 80;
>>>     rewrite        ^ https://$host$request_uri? permanent;
>>> }
>>>
>>> server {
>>>     listen 443;
>>>     ssl on;
>>>     ssl_certificate /etc/nginx/ssl/cert.pem;
>>>     ssl_certificate_key /etc/nginx/ssl/cert.key%>;
>>>
>>>     error_log /var/log/nginx/error.log;
>>>
>>>     location ^~ /static/ {
>>>         alias
>>> /home/ipynb/ipyvirt/lib/python2.7/site-packages/IPython/html/static/;
>>>     }
>>>
>>>     location / {
>>>       proxy_pass http://localhost:9999;
>>>
>>>       #proxy_set_header X-Real-IP $remote_addr;
>>>       #proxy_set_header Host $http_host;
>>>       #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>
>>>       #proxy_set_header X-NginX-Proxy true;
>>>
>>>       # WebSocket support
>>>       proxy_http_version 1.1;
>>>       proxy_set_header Upgrade $http_upgrade;
>>>       proxy_set_header Connection "upgrade";
>>>       proxy_read_timeout 86400;
>>>
>>>    }
>>> }
>>>
>>> Most of the proxying works just fine, but websockets fail. I could host
>>> this using the certfile and keyfile setting in IPython (and not use nginx),
>>> but was hoping to proxy from some high port by a non-privileged user to
>>> port 443 (with a redirect from 80).
>>>
>>> -- Kyle
>>>
>>>
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>>>
>>
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130825/a86c6f82/attachment.html>


More information about the IPython-dev mailing list