-
Notifications
You must be signed in to change notification settings - Fork 619
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
Add generic TCP proxying support #179
Comments
@magiconair subbed, thanks. |
Subbed. |
@jbye why not use the consul service discovery instead? Then you don't need fabio for this. That's what we're doing. |
+1 @magiconair I'm using Fabio to route Docker based microservices, so it binds to random ports on host. |
+1 Proxy protocol support to tcp would be also awsome :) |
My use case is:
*** The backend port could vary as I am using Docker with Nomad's ephemeral port logic. Thanks and Regards, |
@shantanugadgil |
@magiconair yes, that's correct, "myservice" would be custom app. |
The The following command will start TCP proxy on port
The
You can also register multiple tags to map several inbound ports to one service. You can try this with
Please note however, that fabio needs to have all listening ports configured upfront. That is something that I'd like to change in a subsequent change. One side effect which I'd like to clean up before merging is that the
Feedback is very welcome! |
One note: The |
👍 |
I'd like to test, but I'd have to spend some time figuring out how to install go in a custom root. |
@nugend Would it help if I provide a binary?
|
Yes. Thank you. |
Will test it out first thing tomorrow! Thanks! |
I've tested the new TCP proxy settings, it works like I expected! Just a few questions:
Thank you!! |
@panga That's good to know. Thanks for testing this. To your questions:
|
@nugend did you also get a chance to test the tcp proxy in 1.4beta1? |
Yes! Sorry for the delay. Seems to work great! We'll probably try using it for inbound client connections when we have some time on our schedule. |
Changes for 1.4beta2 * Advertise routes with 'tcp://' URL * Update integration test for 'tcp://' URLs * Filter urlprefix- tags from generated route commands * Allow demo server to register additional tags * Update UI to show TCP and HTTP routes correctly * Update UI to limit weights to two decimal points
Changes for 1.4beta2 * Advertise routes with 'tcp://' URL * Update integration test for 'tcp://' URLs * Filter urlprefix- tags from generated route commands * Allow demo server to register additional tags * Update UI to show TCP and HTTP routes correctly * Update UI to limit weights to two decimal points
Changes for 1.4beta2 * Advertise routes with 'tcp://' URL * Update integration test for 'tcp://' URLs * Filter urlprefix- tags from generated route commands * Allow demo server to register additional tags * Update UI to show TCP and HTTP routes correctly * Update UI to limit weights to two decimal points
Changes for 1.4rc1 * Add test for TLS TCP proxy * Move TLSConfig creation out of the listener code and into main
I've added a test which verifies that TLS termination works on the TCP proxy. This now allows the following options:
I've rebased the In any case, I've tagged and pushed P.S.: They're also on docker hub. |
Changes for 1.4beta2 * Advertise routes with 'tcp://' URL * Update integration test for 'tcp://' URLs * Filter urlprefix- tags from generated route commands * Allow demo server to register additional tags * Update UI to show TCP and HTTP routes correctly * Update UI to limit weights to two decimal points
Changes for 1.4rc1 * Add test for TLS TCP proxy * Move TLSConfig creation out of the listener code and into main
merged to master |
* Add generic TCP proxy support. * Add support for ReadTimeout and WriteTimeout for the TCP and the TCP+SNI proxy. * Add integration tests for the TCP and TCP+SNI proxy. * Update the demo server to provide a TCP server. * Add a tcptest package for generic TCP server testing. Fixes fabiolb#1, fabiolb#178, fabiolb#179
Changes for 1.4beta2 * Advertise routes with 'tcp://' URL * Update integration test for 'tcp://' URLs * Filter urlprefix- tags from generated route commands * Allow demo server to register additional tags * Update UI to show TCP and HTTP routes correctly * Update UI to limit weights to two decimal points
Changes for 1.4rc1 * Add test for TLS TCP proxy * Move TLSConfig creation out of the listener code and into main
Guys, I am facing some issue close to this one, could you please help me on that? Thanks |
This issue tracks the request from #1 to add support for generic TCP proxying support in fabio.
So far fabio supports the TCP+SNI proxy for full-end-to-end encryption but not any dynamic listeners, i.e. you cannot route MySQL traffic through fabio yet.
The text was updated successfully, but these errors were encountered: