Rewrite Host Header by default in ReverseProxy #580
Merged
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.
Description
The default implementation of ReverseProxy provided by
NewSingleHostReverseProxy
does not rewrite the host header of the outbound request. Instantiate ReverseProxy with an implementation that rewrites the host header of the outbound request by default.Why is this needed
When the host header is not being rewritten, it would still have the host value that the incoming request had which in this case would be the smee host IP itself. If the upstream URL is hosted on a public service such as S3 which does some validations on the request header, the current implementation would fail as S3 would deny any such request where it's not able to validate the host header.
Fixes: #
Tested this change with isoURL in the smee deployment set to an S3 link and was able to boot up a Hardware properly.
How Has This Been Tested?
How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have: