Traefik is not routing TCP traffic into a TCP service

Hello there!

I am configuring Traefik (v2.6.6) in a Kubernetes cluster for redirecting TCP traffic to a Jenkins Kubernetes service which listen to port 50000.
For that I have created two resources:

  • An entrypoint which receives traffic through port 50000 and whose protocol is TCP
  • To reach the Jenkins service I have created a TCP router which should redirect traffic from the entrypoint to the Jenkins Kubernetes service on port 50000

When I try to communicate with the service I get the following error:

Jun 23, 2022 10:03:51 AM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: The server rejected the connection: None of the protocols were accepted
java.lang.Exception: The server rejected the connection: None of the protocols were accepted
        at hudson.remoting.Engine.onConnectionRejected(Engine.java:864)
        at hudson.remoting.Engine.innerRun(Engine.java:804)
        at hudson.remoting.Engine.run(Engine.java:540)

It seems like Traefik are not accepting traffic from TCP protocol.

I don't know if I am missing something or if some resource is not configured correctly but do any of you have any idea of what could be going on?

Hello @technoob

Thanks for using Traefik!

Interesting use case. I also use Jenkins and Jenkins Agent in one of my environments. Jenkins Agent which is running on port 50000 is an HTTP server and accepts HTTPS requests, you don't have to create a dedicated TCP entry point to reach the service.

bash-5.1# curl jenkins-jenkins-agent:50000
Jenkins-Agent-Protocols: JNLP4-connect, Ping
Jenkins-Version: 2.345
Jenkins-Session: 0b656dcd
Client: 10.233.65.193
Server: 10.233.64.205
Remoting-Minimum-Version: 3.14
bash-5.1#

Seems that using TCP entrypoints instead of HTTP is the root cause of the issue you are facing.

Please keep us posted once you solve your issue.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.