Listen on both http (for hub) and tcp (for notebook server)?

I am running JupyterHub 0.8.2 on AWS EKS cluster. I have configured my proxy service to listen over TCP, however I want to use HTTP so that I can track URLs from ELB access logs. (When you listen over HTTP, AWS’ ELB access logs show you the URL. But not when you listen on TCP.)

I can’t use HTTP though because the notebook server endpoint for the kernel uses websockets. So I must listen on TCP.

Is there any way I can listen on both? Out of the box, I think not since I can’t listen on the same port (443) for two protocols. However, perhaps there is a configuration option to have the kernel endpoint use a different port? This would allow me to have both listeners.

Or is there some other solution? Basically all I need is a way to get HTTP logs that show the URL for all requests that are made to JupyterHub via the proxy elb.


    enabled: true
    type: offload
      # Certificate ARN <<cert>> "tcp"
      # Which ports should use SSL "443" '1800'