Clients that don't like connecting to services via 80/443 (via a domain)

Ultimately my issue isn’t directly Traefik-related but I’m looking for a bit of a help with what’s the best and most secure way to workaround it with Traefik.

I’ve installed two IRC bouncers (ZNC and Quassel-Core) and I have no issues connecting to either using their local addresses but it’s impossible to connect via my domain. From what I can see, my IRC client (I’ve tested Quassel-Client with Core and Quassel standalone with ZNC) refuses to attempt a connection over 80/443. I haven’t tested any other clients and I’m not opposed to trying others but I’d like to see if there’s a way around this issue. So far the only solution that has worked has been to forward the relevant port on my router and I get the feeling that this is the only solution or does someone else have a suggestion? If port forwarding is the only option, should I configure Traefik to listen for that port - is that a more secure way of handling things or does it matter?

I also have the same issue with MQTT. For the time being, I can get away with just using local addresses for MQTT as all my devices are on my home network but I’m interested in potentially testing out connecting devices from another location.

Hi @BOZG, could you elaborate what version of Traefik are you using, in which setup (best case: providing a reproductible case)?

As for Traefik v1.x, both setup could not work, as only HTTP protocol (including HTTPS/webSockets/gRPC) are supported. You can totally change the listening ports, but the Layer-7 application protocol must be HTTP-based.

You might want to try with Traefik v2.0 (currently in alpha state) , which supports TCP routing. Then you would have to configure one entrypoint on the "standard" IRC port, and same for MQTT (which is also TCP-based). You can even use TLS on these protocols, and benefits from SNI routing.

You can see a set of examples here: https://github.com/containous/slides/tree/voxxed-lux-2019/demo/traefik-v2 (slides with diagrams for contexts - https://containous.github.io/slides/voxxed-lux-2019/#/tcp_support and use the bottow/up arrows to navigate). The example shows how to use Traefik in front of MongoDB, with configuration example. let us know if you are able to make it work, or give us more config otherwise.