Skip to content
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

SignalR GET with body #55749

Open
1 task done
marcstern opened this issue May 16, 2024 · 4 comments
Open
1 task done

SignalR GET with body #55749

marcstern opened this issue May 16, 2024 · 4 comments
Labels
area-signalr Includes: SignalR clients and servers Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update.

Comments

@marcstern
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

In recent versions, SignalR sometimes send GET requests with a header "Transfer-Encoding: chunked".
Some reverse proxies crash with this in certain conditions and most WAF block this.

Expected Behavior

GET requests should have no Transfer-Encoding header, nor body.

Steps To Reproduce

No response

Exceptions (if any)

No response

.NET Version

No response

Anything else?

No response

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-signalr Includes: SignalR clients and servers label May 16, 2024
@BrennanConroy
Copy link
Member

What client are you using? What transport? "In recent versions", what version did it start happening?

@marcstern
Copy link
Author

Hello.

We have the problem with version 8.0.0. We tried Chrome & Edge.
Actually, the problem may have been present in older versions, not sure.
We detected this because we were behind a WAF.

It seems that the problem happens during SignalR negotiation.
If the web socket cannot be established, a GET requests with a header "Transfer-Encoding: chunked" is sent.
Because it's inside the negotiation, we don't see it in the developers tools but we saw it on the WAF.

@BrennanConroy
Copy link
Member

Because it's inside the negotiation, we don't see it in the developers tools

That doesn't make any sense. If the request is coming from the browser it will be in the developer tools.

SignalR in the browser never sets Transfer-Encoding: chunked. So either the browser is setting it for some reason (out of our control), you're setting it in your configuration, or you're omitting some information about your setup.

@BrennanConroy BrennanConroy added the Needs: Author Feedback The author of this issue needs to respond in order for us to continue investigating this issue. label May 21, 2024
@marcstern
Copy link
Author

I will try to get more detailed info from the developer

@dotnet-policy-service dotnet-policy-service bot added Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update. and removed Needs: Author Feedback The author of this issue needs to respond in order for us to continue investigating this issue. Status: No Recent Activity labels May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-signalr Includes: SignalR clients and servers Needs: Attention 👋 This issue needs the attention of a contributor, typically because the OP has provided an update.
Projects
None yet
Development

No branches or pull requests

3 participants
@marcstern @BrennanConroy and others