仅本地主机上的Nginx入口控制器:80

时间:2019-10-15 14:47:17

标签: nginx-ingress

我希望nginx入口控制器仅在localhost上绑定而不是在所有接口上绑定。  我已经在kubespray模式下以hostNetwork进行部署,并且入口Pod以以下命令开头:

 /nginx-ingress-controller
  --configmap=$(POD_NAMESPACE)/ingress-nginx
  --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
  --udp-services-configmap=$(POD_NAMESPACE)/udp-services
  --annotations-prefix=nginx.ingress.kubernetes.io
  --report-node-internal-ip-address

我认为需要更改的是/etc/nginx/nginx.conf上的以下行:

listen 80 default_server reuseport backlog=511 ;

listen localhost:80 default_server reuseport backlog=511 ;

我尝试直接更改图像上的文件,但似乎在启动时被覆盖了。

问题:

  • 可以通过--configmap中粘贴的配置映射来完成此操作吗?
  • 如果没有,那么在哪里进行更改以使nginx.conf能够反映出来?

1 个答案:

答案 0 :(得分:0)

这可以通过将以下键值对添加到ingress-nginx ConfigMap来完成:

bind-address: 127.0.0.1   

localhost无法正常工作,它抱怨格式错误。 nginx.conf将更新为以下行:

listen 127.0.0.1:80 default_server reuseport backlog=511 ;

,它将仅在回送接口上侦听。 T