-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Support dynamic host rewrite and Proxy-Authorization Header injection via SDS in TCPProxy tunneling #13809
Comments
I think this is a problem that @lambdai is trying to solve as well. @alyssawilk for any more comments as well. |
Hm, I like the idea of allowing a filter chain for tcp tunneled over HTTP. |
@alyssawilk @yanavlasov thanks for your reply! |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions. |
Hi @larryrun, we are trying to build a dynamic upstream TLS proxy configuration. We have a working static solution here https://gist.github.com/cortex93/6d7cd9738b077d0447ab891cbacd0d5e but we need to get rid of |
@alyssawilk regarding my previous comment, would you mind reopen this ? We should be able to do TLS upstream with a non statically configured hostname |
hi @cortex93 in your case, are you using the iptables to redirect the TCP packets? how do you pass the host params? |
Unfortunately, we are not able to route with iptables. |
@lambdai Now that #18128 is closed, would it be possible to also evaluate hostname in envoy/source/common/tcp_proxy/upstream.cc Line 276 in 936ab8f
and envoy/source/common/tcp_proxy/upstream.cc Line 305 in 936ab8f
|
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
There is an ongoing discussion at #18838 |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
@lambdai any ongoing work around evaluating the hostname of tunneling_config ? Should another issue be created ? |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
Still not fixed |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
/assign lambdai |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions. |
@lambdai any progress on this one ? |
dynamic hostname in tcpproxy is being adressed by #19612 |
Hi team,
We use the TCPProxy filter to tunneling TCP traffic to upstream services. The upstream service is also an Envoy, it does the authn/authz check and then forward the packets to the real port.
When a client calls a service, the traffic flow looks like :
[Client(call 2.2.2.2:80)] -> [Iptables redirect to :8000] -> [ClientSide Envoy TCPProxy (listens on 8000, Will do tunneling based on the client request: 2.2.2.2:80)] -> [Iptables redirect to :9000] -> [ServiceSide Envoy(listens on 9000, forwards to 2.2.2.2:80)] -> [Service(listens on 80)]
Problems we are facing:
%DOWNSTREAM_LOCAL_ADDRESS%
To address the above difficulties. we configured a second listener(just like this example in the offical doc) in the client side Envoy with HTTP filters, and redirect the packets sent from TCPProxy filter to this listener. And use
request_headers_to_add
=%DOWNSTREAM_LOCAL_ADDRESS%
to add the Host(:authority) Header;So we are wondering, is this the right way to achieve our requirement in your opinion? We see there are some improvements can be made:
One option that came to my mind is that, allowing an HTTP filter chain to be configured for the TCPProxy Tunneling's HTTP CONNECT request, so that we can add more sophisticated HTTP logic.
For the token injection, I found another helpful feature request#6654 that was created long time ago. Is there any plan for it?
What do you guys think?
Thanks for your hard working and this great project!
The text was updated successfully, but these errors were encountered: