title: Kubernetes ingress controller expose to specific port
body: <p>My institution has firewall settings that block most of the external ports, currently, I have internal Linux virtual machine, for example, <strong><a href="http://abc.xyz:5555" rel="nofollow noreferrer">http://abc.xyz:5555</a></strong> (this link can only be accessed in the internal network), and a Netscaler is set up by the admin so that the internal link is forward to a  publicly available link: <strong><a href="https://def.edu" rel="nofollow noreferrer">https://def.edu</a></strong>. </p>
  
  <p>Now I have multiple web servers that use ports like 5556,5557,5558. I want to set up Kubernetes ingress that all traffic goes into the ingress controller first, and the ingress will forward traffic to my multiple web services. Typically as the below image shows. 
  <a href="https://i.stack.imgur.com/wMIM6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wMIM6.png" alt="Objective"></a></p>
  
  <p>I only have port 5555 available, but all tutorials of Ingress seem only to support HTTP 80 and HTTPS 443 port. My question is, can I set up the Ingress controller host as <strong><a href="http://abc.xyz:5555" rel="nofollow noreferrer">http://abc.xyz:5555</a></strong>? Or I should go for other approaches, like this said: <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" rel="nofollow noreferrer"><code>An Ingress does not expose arbitrary ports or protocols. Exposing services other than HTTP and HTTPS to the internet typically uses a service of type Service.Type=NodePort or Service.Type=LoadBalancer.</code></a>, if so, what terms/techniques should I use?</p>