title: gce nginix-ingress type NodePort and port:80 connection refused
body: <p>In my gce kube-cluster, i'm using nginx ingress controller instead of google load balancer, by using "nginx-ingress" with NodePort instead of type LoadBalance as below:</p>
  
  <pre><code>helm install --name my-lb stable/nginx-ingress --set controller.service.type=NodePort
  </code></pre>
  
  <p>Since nginx-controller deployed as "conroller.service.type=NodePort", the nodePorts were opened/assigned(kubect get svc), also got external ip 104.196.xxx.xxx.
  At this point nginx-ingress-controller is running in kube-cluster and confirmed in console "networking/load balancing" that no cloud load balancer created. </p>
  
  <pre><code>kubectl get svc
  NAME                                  CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
  my-lb-nginx-ingress-controller        10.39.249.242   &lt;nodes&gt;       80:31181/TCP,443:31462/TCP   15h
  my-lb-nginx-ingress-default-backend   10.39.246.94    &lt;none&gt;        80/TCP                       15h
  </code></pre>
  
  <p>After this, created a new firewall rule in console "networking/firewall" to allow node ports "tcp:31181;tcp:31462".
  Now using browser/curl to reach "<a href="http://104.196.xxx.xxx:31181" rel="nofollow noreferrer">http://104.196.xxx.xxx:31181</a>" or "<a href="https://104.196.xxx.xxx:31462" rel="nofollow noreferrer">https://104.196.xxx.xxx:31462</a>" gets response from ngnix controllers..works well.</p>
  
  <p>But, port access through port 80 not working. When I do curl on "<a href="http://104.196.xxx.xxx:80" rel="nofollow noreferrer">http://104.196.xxx.xxx:80</a>", get back connection refused as below:</p>
  
  <pre><code>* connect to 104.196.xxx.xxx port 80 failed: Connection refused
  </code></pre>
  
  <p>Note, 
  firewall rules have "default-allow-http" for "tcp:80"
  ngnix-ingress version = nginx-ingress-0.8.5
  kube-server-version = Major:"1", Minor:"7", GitVersion:"v1.7.5"</p>
  
  <pre><code>helm ls
  NAME        REVISION    UPDATED                     STATUS      CHART               NAMESPACE
  my-lb       1           Fri Sep 22 23:05:30 2017    DEPLOYED    nginx-ingress-0.8.5 default  
  
  
  kubectl version
  Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T08:56:23Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
  </code></pre>
  
  <p>Any idea why "<a href="https://104.196.xxx.xxx:80" rel="nofollow noreferrer">https://104.196.xxx.xxx:80</a>" gets "port 80: Connection refused" while "<a href="https://104.196.xxx.xxx:31462" rel="nofollow noreferrer">https://104.196.xxx.xxx:31462</a>" is working fine?</p>
  
  <p>Thx.</p>