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

问题描述 投票:0回答:1

我希望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反映出来?
nginx-ingress
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.