Nginx无法监听虚拟VIP的问题报:99: Cannot assign requested address

Posted 杨灏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx无法监听虚拟VIP的问题报:99: Cannot assign requested address相关的知识,希望对你有一定的参考价值。

99: Cannot assign requested address

#本地网卡上没有10.0.0.3这个IPnginx就会报错:

[root@lb01 conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file /application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: [emerg] bind() to 10.0.0.3:80 failed (99: Cannot assign requested address)

nginx: configuration file /application/nginx-1.10.2/conf/nginx.conf test failed

[root@lb01 conf]# ip a s eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:27:4e:e9 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.5/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fe27:4ee9/64 scope link

       valid_lft forever preferred_lft forever

#注意:nginx 没有办法 监听 本地不存在的ip地址 

解决Nginx监听虚拟VIP方法:

出现上面的问题就是在物理网卡上没有与配置文件例监听的IP相对应的IP,解决方法是在/etc/sysctl.conf 中加入如下内核参数配置

echo ‘net.ipv4.ip_nonlocal_bind = 1‘ >>/etc/sysctl.conf

sysctl -p# 生效 

#也可以用以下方法让Nginx启动时忽略配置中监听的VIP是否存在同样适合haproxy

echo "1" >/proc/sys/net/ipv4/ip_nonlocal_bind

 

以上是关于Nginx无法监听虚拟VIP的问题报:99: Cannot assign requested address的主要内容,如果未能解决你的问题,请参考以下文章

【keepalived】keepalived vrrp 双实例

Oralce配置正确,报监听错误或无法识别描述中的服务

nginx + keepalived 双机热备

nginx tcp 代理 kube api 接口请求报错

使用 Java DatagramChannel 监听 UDP 数据报

linux部署的nginx,mp4文件无法访问的问题