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.
proxy: https: enabled: true type: offload service: annotations: # Certificate ARN service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <<cert>> service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp" # Which ports should use SSL service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443" service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '1800'