Heya, I have a tricky problem and I don't know how to describe it properly. But I try my best.
If you need more info please write me and I try to explain as best as I can.
Anyway, we use traefik to load balance a few of our lic servers. So far it works great, but I have a tricky situation.
These servers use two ports that need to be hit for example 4432 and 4433, the first one is for establishing a connection (4432) and the second one is to validate the lic (4433), or at least I think this is how it works. If I leave one or the other port out it won't work.
Now to the problem:
when a client tries to access the servers to get a license sometimes it happens that the load balancer gives the client two different servers.
For example:
Client 1 -> Load balancer -> port 1 -> server 1
Client 1 -> Load balancer -> port 2 -> server 3
but it should be:
Client 1 -> Load balancer -> port 1 -> server 1
Client 1 -> Load balancer -> port 2 -> server 1
Is there any way that we can adjust our config for Traefik to handle this type of situation correctly?
This is a part of our docker-compose file :
labels:
- traefik.enable=true
# PORT 1
- traefik.tcp.routers.port1.entrypoints=PORT1
- traefik.tcp.routers.port1.rule=HostSNI(`*`)
- traefik.tcp.routers.port1.service=port1
- traefik.tcp.services.port1.loadbalancer.server.port=4432
# PORT 2
- traefik.tcp.routers.port2.entrypoints=PORT2
- traefik.tcp.routers.port2.rule=HostSNI(`*`)
- traefik.tcp.routers.port2.service=port2
- traefik.tcp.services.port2.loadbalancer.server.port=4433