Comments (3)
I am not sure what is the issue here and why port redirect matters.
My understanding is that the host header is intended to be consumed by the final destination server.
It is ok for the proxy to make decisions based on that, and we may add the logic to the proxy if we need it and it is not there.
Consider, however, the case in which the client tries to open a connection to a webserver on port 80 and specifies service1:80 in the host header. The proxy will see the incoming connection on port 80. I think the correct behavior for the proxy would still be to try to connect to the final webserver on port 80 and pass the host header unchanged. Basically the behavior, as observed by the receiving webserver, is unchanged (source IP address might be different in the per-node case).
The discussion above ignores port redirect. If you add port-redirect to the mix, now what might happen is that the proxy is actually listening on port 12345 and the connection destined to port 80 gets picked up by the listener listening on port 12345. However, the listener on port 12345 understands that the connection should be handled by the listener for port 80 (which may or may not listen) and hands it off. From this point on, everything proceeds as described in the paragraph above.
What is wrong/missing ?
from pilot.
It seems there might be a bug in that Envoy does not route virtual host "host:80" the same way as "host" with iptables port redirection. I'll investigate.
from pilot.
So it sounds like Envoy is just taking literal host value with no processing...
from pilot.
Related Issues (20)
- istioctl not defaulting ns to "default" HOT 1
- Sidecar injection with mutating webhooks HOT 4
- Tests :Sidecar injection with mutating webhooks HOT 3
- Istio injection is not working for modified Deployments. HOT 6
- Ingress with host network HOT 1
- Request Headers Route Rule with composite services does not work HOT 1
- handling service registry client errors HOT 3
- Redirecting all ingress http traffic to https HOT 1
- Relational database adapter for Pilot config store HOT 10
- Diego BBS adapter for Pilot platform data HOT 12
- bazel 0.7 - make setup fails with bazel error on macOS HOT 12
- Use readable cluster names in stats HOT 4
- Build fails on Intel for Istioctl(pilot) HOT 14
- destination.labels is ignored in weighted rule HOT 4
- fails to create mixer configs when namespace field is empty
- Compute Envoy config eagerly rather than on-demand HOT 33
- istioctl kube-inject doesn't work when my pod has 2 containers HOT 2
- Add a script to query pilot for proxy configurations HOT 1
- gRPC-web HOT 1
- How to access the external services when istio with sidecar injected. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pilot.