{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter/jupyterhub/issues/219","labels_url":"https://api.github.com/repos/jupyter/jupyterhub/issues/219/labels{/name}","comments_url":"https://api.github.com/repos/jupyter/jupyterhub/issues/219/comments","events_url":"https://api.github.com/repos/jupyter/jupyterhub/issues/219/events","html_url":"https://github.com/jupyter/jupyterhub/issues/219","id":66916569,"number":219,"title":"Deploying behind a reverse proxy","user":{"login":"danielballan","id":2279598,"avatar_url":"https://avatars.githubusercontent.com/u/2279598?v=3","gravatar_id":"","url":"https://api.github.com/users/danielballan","html_url":"https://github.com/danielballan","followers_url":"https://api.github.com/users/danielballan/followers","following_url":"https://api.github.com/users/danielballan/following{/other_user}","gists_url":"https://api.github.com/users/danielballan/gists{/gist_id}","starred_url":"https://api.github.com/users/danielballan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielballan/subscriptions","organizations_url":"https://api.github.com/users/danielballan/orgs","repos_url":"https://api.github.com/users/danielballan/repos","events_url":"https://api.github.com/users/danielballan/events{/privacy}","received_events_url":"https://api.github.com/users/danielballan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-04-07T15:29:38Z","updated_at":"2015-09-15T18:12:32Z","closed_at":"2015-04-20T19:45:22Z","body":"Has anyone worked on deploying jupyterhub behind a Reverse Proxy?\r\n\r\nI am trying to deploy it on a system that communicates with the open network through an Apache reverse proxy. Authentication works fine, and kernels are created when users open notebooks, but the notebooks cannot connect to their kernels. It looks like requests are coming in, but communication out through the Apache server is not working correctly."},"comment":{"url":"https://api.github.com/repos/jupyter/jupyterhub/issues/comments/140487255","html_url":"https://github.com/jupyter/jupyterhub/issues/219#issuecomment-140487255","issue_url":"https://api.github.com/repos/jupyter/jupyterhub/issues/219","id":140487255,"user":{"login":"franga2000","id":3891092,"avatar_url":"https://avatars.githubusercontent.com/u/3891092?v=3","gravatar_id":"","url":"https://api.github.com/users/franga2000","html_url":"https://github.com/franga2000","followers_url":"https://api.github.com/users/franga2000/followers","following_url":"https://api.github.com/users/franga2000/following{/other_user}","gists_url":"https://api.github.com/users/franga2000/gists{/gist_id}","starred_url":"https://api.github.com/users/franga2000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/franga2000/subscriptions","organizations_url":"https://api.github.com/users/franga2000/orgs","repos_url":"https://api.github.com/users/franga2000/repos","events_url":"https://api.github.com/users/franga2000/events{/privacy}","received_events_url":"https://api.github.com/users/franga2000/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T18:12:32Z","updated_at":"2015-09-15T18:12:32Z","body":"I know I'm a bit late, but if anyone needs it, here's the config that works for me (basically what @danielballan quoted):\r\n\r\n```xml\r\nProxyPass / http://localhost:8000/\r\nProxyPassReverse / http://localhost:8000/\r\n\r\nHeader edit Origin {external address} localhost:8000\r\nRequestHeader edit Origin {external address} localhost:8000\r\n\r\nHeader edit Referer {external address} localhost:8000\r\nRequestHeader edit Referer {external address} localhost:8000\r\n<Location ~ \"/(user/[^/]*)/(api/kernels/[^/]+/channels|terminals/websocket)/?\">\r\n    ProxyPass ws://localhost:8000\r\n    ProxyPassReverse ws://localhost:8000\r\n</Location>\r\n```"}}