-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Text Streaming not working when using Nginx-Ingress on Kubernetes #10482
Comments
This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/remove-kind bug There is not enough info to understand the problem. The new issue template asks questions that help but yo have not answered any of those. You can make progress by answering questuons asked in the new issue template. |
Where can i find the new issue template? |
@smallbirds4 when you start to create a new issue, default template is rendered |
@smallbirds4 Have you found a solution to this issue? I have it too |
Hi @smallbirds4 in the documentation for NGINX ingress controller annotations there is no |
@paolosalvatori It is on by default https://nginx.org/en/docs/http/ngx_http_core_module.html#chunked_transfer_encoding.
|
@smallbirds4 Have you found a solution to this issue? I have tried literally everything but it doesn't work for me as well. |
@smallbirds4 @paolosalvatori We have solved the issue. https://greenbytes.de/tech/webdav/rfc7540.html#rfc.section.8.1.p.4
|
Thanks all of you. Unfortunately, none of the solutions are working :/ I am not using HTTP2 |
@smallbirds4 also tehre are 2 nginx settings the newer https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering the later you already configured |
I resolved the same issue with Nginx by disable setting |
/close Apparently there is a fix here, thanks for the feedback @thien-nguyenthanh |
@rikatz: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
any update on this? i'm having a similar issue |
The recent release of controller uses NGINX v1.25 which supports HTTP2. Also chunking is on by default. So please check your use accordingly. |
Problem Description:
I have used the Nginx-Ingress service on my Azure Kubernetes Cluster, using the command:
helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace --set controller.service.loadBalancerIP=<ip-adress> --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz
My kubernetes cluster is basically a frontend docker container interacting with a third-party service, streaming some text back to the frontend until a longer message has been completed. When I test the docker container locally it works perfectly, all the text gets streamed in real time word-by-word until the text is completed. When I put it on my kubernetes cluster behind the Nginx-Ingress, it only get the whole text chunk when all the has been completed (it works on my cellphone tho).
Investigation:
I tried to investigate the problem online, and looks like the issue could be related to the proxy-buffering. I found several suggestions online, about changing e.g.:
proxy-http-version 1.1
chunked-transfer-encoding on
proxy_pass http://localhost:3000/
proxy_request_buffering off
I have tried to implement them by using: kubectl apply -f setting.yaml - with this information in the .yaml file
It did not work, however. I have spend hours looking online, and have not found a simple explanation how to get this to work on my Azure Kubernetes cluster. Do I have to change a configuration before doing my helm installation, and how to instruct nginx-ingress to use that configuration using the helm installation. I have not been able to found an answers on how to do that.
The text was updated successfully, but these errors were encountered: