Welcome! Log In Create A New Profile

Advanced

nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

December 04, 2016 04:40PM
We've used nginx for years and never had an issue with nginx upgrade
until today where the upgrade command ran but almost instantly after the
new process exited.

/usr/local/etc/rc.d/nginx upgrade
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Upgrading nginx binary:
Stopping old binary:

In the default nginx log we had:
2016/12/04 21:18:22 [emerg] 25435#0: bind() to 127.0.0.1:81 failed (48:
Address already in use)
nginx: [emerg] bind() to 127.0.0.1:81 failed (48: Address already in use)
2016/12/04 21:18:22 [emerg] 25435#0: bind() to 127.0.0.1:81 failed (48:
Address already in use)
nginx: [emerg] bind() to 127.0.0.1:81 failed (48: Address already in use)
2016/12/04 21:18:22 [emerg] 25435#0: bind() to 127.0.0.1:81 failed (48:
Address already in use)
nginx: [emerg] bind() to 127.0.0.1:81 failed (48: Address already in use)
2016/12/04 21:18:22 [emerg] 25435#0: bind() to 127.0.0.1:81 failed (48:
Address already in use)
nginx: [emerg] bind() to 127.0.0.1:81 failed (48: Address already in use)
2016/12/04 21:18:22 [emerg] 25435#0: bind() to 127.0.0.1:81 failed (48:
Address already in use)
nginx: [emerg] bind() to 127.0.0.1:81 failed (48: Address already in use)
2016/12/04 21:18:22 [emerg] 25435#0: still could not bind()
nginx: [emerg] still could not bind()

Running the start just after resulted in a running version but is
obviously unexpected to have upgrade result in a failure.

I believe the change to add a localhost bind to the server in question
was relatively recent so I suspect it has something to do with that.

The config for this is simply:
server {
listen 127.0.0.1:81;
server_name localhost;

location /status {
stub_status;
}
}

The upgrade in this case was:
nginx: 1.10.1_1,2 -> 1.10.2_2,2

Now this server is running under FreeBSD in a jail (10.2-RELEASE) and it
has 127.0.0.1 available yet it seems nginx has incorrectly bound the
address:
netstat -na | grep LIST | grep 81
tcp4 0 0 10.10.96.146.81 *.* LISTEN

sockstat | grep :81
www nginx 25666 25 tcp4 10.10.96.146:81 *:*
www nginx 25665 25 tcp4 10.10.96.146:81 *:*
www nginx 25664 25 tcp4 10.10.96.146:81 *:*
www nginx 25663 25 tcp4 10.10.96.146:81 *:*
www nginx 25662 25 tcp4 10.10.96.146:81 *:*
www nginx 25661 25 tcp4 10.10.96.146:81 *:*
www nginx 25660 25 tcp4 10.10.96.146:81 *:*
www nginx 25659 25 tcp4 10.10.96.146:81 *:*
www nginx 25658 25 tcp4 10.10.96.146:81 *:*
www nginx 25657 25 tcp4 10.10.96.146:81 *:*
www nginx 25656 25 tcp4 10.10.96.146:81 *:*
www nginx 25655 25 tcp4 10.10.96.146:81 *:*
www nginx 25654 25 tcp4 10.10.96.146:81 *:*
www nginx 25653 25 tcp4 10.10.96.146:81 *:*
www nginx 25652 25 tcp4 10.10.96.146:81 *:*
www nginx 25651 25 tcp4 10.10.96.146:81 *:*
root nginx 25650 25 tcp4 10.10.96.146:81 *:*

ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xffffffff

So it looks like nginx is incorrectly binding which is resulting in the
issue with upgrade.

Anyone seen this before?

I've confirmed nginx is responding correctly on 127.0.0.1:
lwp-request http://127.0.0.1:81/status
Active connections: 1077
server accepts handled requests
31516 31516 90387
Reading: 0 Writing: 5 Waiting: 1071

Regards
Steve
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

steveh December 04, 2016 04:40PM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

Maxim Dounin December 05, 2016 08:28AM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

steveh December 05, 2016 09:52AM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

Maxim Dounin December 05, 2016 12:14PM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

steveh December 05, 2016 01:40PM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

steveh April 03, 2017 10:58AM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

Alt December 14, 2016 06:36AM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

Maxim Dounin December 14, 2016 09:34AM

Re: nginx upgrade fails due bind error on 127.0.0.1 in a FreeBSD jail

Alt December 15, 2016 05:36AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 72
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready