Backport of [NET-5772] Make tcp external service registered on terminating gw reachable from peered cluster into release/1.18.x #20946
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.
Backport
This PR is auto-generated from #19881 to be assessed for backporting due to the inclusion of the label backport/1.18.
The below text is copied from the body of the original PR.
Note
This is a followup to #18959 which fixed the same problem specifically when using
http
protocol.Description
The terminating gateways needs to be able to handle TCP connections from peers which are not TLS-terminated at the local mesh gateway. This amounts to including the target SNI that downstreams from peers would use when building the TLS context for the terminating gateway.
Filter chain match before this change
Filter chain match after this change
Testing & Reproduction steps
You can test this fix using the setup here, changing the
<ServiceDefaults>.spec.protocol
as necessary inresources/dc2/external-service.yaml
if you want to see the behavior forhttp
services as well.You will need to pin a build of this branch as
global.image
invalues-dc2.yaml
. I would recommend doing an install without this build to witness things in their current broken state, and then doing ahelm upgrade
withglobal.image
set.Links
PR Checklist
Overview of commits