help websockets
zak preedy
zakomany at gmail.com
Wed Jun 23 16:17:26 UTC 2021
no
On Wed, 23 Jun 2021 at 17:11, Alison <alisonc1986 at gmail.com> wrote:
> Hi,
>
> Does anyone have any suggestions about the below ?
>
> Thank you very much,
>
> Alison
>
>
> ---------- Forwarded message ---------
> From: Alison <alisonc1986 at gmail.com>
> Date: Fri, 18 Jun 2021, 15:06
> Subject: help websockets
> To: <nginx at nginx.org>
>
>
> Hi,
>
> I'm using the following ingress in my jupyterhub application to expose the
> application externally from within the cluster:
>
> ################
>
> apiVersion: networking.k8s.io/v1beta1
> kind: Ingress
> metadata:
> name: py-ingress
> annotations:
> kubernetes.io/ingress.class: nginx
> nginx.ingress.kubernetes.io/rewrite-target: /jupyterhub$1$2
> namespace: default
> spec:
> rules:
> - http:
> paths:
> - path: /jupyterhub(/|$)(.*)
> backend:
> serviceName: jupyterhub
> servicePort: 8888
>
>
> #################
>
> When I deploy my application to one kubernetes cluster it works without
> problems.
>
> If I deploy the same application to another kubernetes cluster it fails
> (due to http 400 websockets). The part that fails is when I try from the
> Jupyter Notebook .... New ->Terminal ... or .... New -> Python3 kernel
>
> Any idea of what kind of additional annotations I need to add to the above
> ingress to solve the websocket issue ?
>
>
> https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/
>
> The nginx.conf content looks as follows for the application in both
> clusters
>
> #########################
>
> location ~* "^/jupyterhub(/|$)(.*)" {
> set $namespace "default";
> set $ingress_name "py-ingress";
> set $service_name "";
> set $service_port "";
> set $location_path "/jupyterhub(/|$(literal_dollar))(.*)";
>
> rewrite_by_lua_block {
> lua_ingress_rewrite({
> force_ssl_redirect = false,
> ssl_redirect = true,
> force_no_ssl_redirect = false,
> use_port_in_redirects = false,
> })
> balancer.rewrite()
> plugins.run()
> }
>
> header_filter_by_lua_block {
> lua_ingress.header()
> plugins.run()
> }
>
> body_filter_by_lua_block {
> }
>
> log_by_lua_block {
> balacer.log()
>
> monitor.call()
>
> plugins.run()
> }
>
> port_in_redirect off;
>
> set $balancer_ewma_score -1;
> set $proxy_upstream_name "default-jupyterhub-8888";
> set $proxy_host $proxy_upstream_name;
> set $pass_access_scheme $scheme;
> set $pass_server_port $server_port;
> set $best_http_host $http_host;
> set $pass_port $pass_server_port;
> set $proxy_alternative_upstream_name "";
> client_max_bosy_size 1m;
> proxy_set_header Host $best_http_host;
>
> # Allow websocket connections
>
> proxy_set_header Upgrade $http_upgrade;
> proxy_set_header Connection $connection_upgrade;
> proxy_set_header X-Request-ID $req_id;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $remote_addr;
> proxy_set_header X-Forwarded-Proto $pass_access_scheme;
> proxy_set_header X-Forwarded-Host $best_http_host;
> proxy_set_header X-Forwarded-Port $pass_port;
> proxy_set_header X-Scheme $pass_access_scheme;
> proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
> proxy_set_header Proxy
> proxy_connect_timeout 5s;
> proxy_send_timeout 60s;
> proxy_buffering off;
> proxy_buffer_size 4k;
> proxy_buffers 4 4k;
> proxy_max_temp_file_size 1024m;
> proxy_request_buffering on;
> proxy_http_version 1.1;
> proxy_cookie_domain off;
> proxy_cookie_path off;
> proxy_next_upstream error timeout;
> proxy_next_upstream_timeout 0;
> proxy_next_upstream_tries 3;
>
> rewrite "(?i)/jupyterhub (/|$)(.*)" /jupyter$1$2 break;
>
> proxy_pass http://upstream_balancer;
>
> proxy_redirect off;
>
> }
>
> ##########################
>
> Thank you very much,
>
> Alison
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20210623/efd6f7cf/attachment-0001.htm>
More information about the nginx
mailing list