feat: Block CONNECT requests for improved security #218
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, I found that the CONNECT http method is not blocked by rpxy. And imho it does not make sense to support them in a reverse proxy. So this PR just blocks all CONNECT requests outright.
But before I implemented that I tested it out, and rpxy did forward some of the test requests to the backend but did not handle 200 responses correctly, leaving the client and/or the server in funny situations (at least with HTTP/1.1).
Quoting the comment I added in the code:
// Block CONNECT requests because a) makes no sense to run a forward proxy behind a reverse proxy = fringe use case b) might have serious security implications for badly configured upstreams c) it doesn't work with current implementation (bodies are not forwarded)