- Plesk Onyx for Linux
Nginx enable fails with the error:
CONFIG_TEXT: ERR [util_exec] proc_close() failed ['/opt/psa/admin/bin/nginx-config' '-t'] with exit code 
ERR [panel] Apache config (15151636450.27290100) generation failed: Template_Exception: nginx: [emerg] bind() to [2001:db8:f61:a1ff:0:0:0:80]:80 failed (99: Cannot assign requested address)
nginx: configuration file /etc/nginx/nginx.conf test failed
IPv6 address is in tentative state:
# ip a | grep inet6
inet6 2001:db8:f61:a1ff:0:0:0:80/128 scope global tentative dadfailed
DAD(Duplicate Address Detection) check fails for IPv6 address.
When an address is added to an interface, the operating system uses the Neighbor Discovery Protocol to check if any other host on the network has the same address. If it finds a neighbor with the same address, the address is removed from the interface.
The issue is that until DAD can confirm that there is no other host with the same address, the address is considered to be "tentative." While it is in this state, attempts to
to the address fail with EADDRNOTAVAIL, as if the address doesn't exist. That means that if you have a service configured to listen on a particular IPv6 address, and that IPv6 address is still tentative when the service starts, it will fail to bind to that address.
As a workaround remove the IPv6 address from the interface in Plesk > Tools & Settings > IP Addresses
Disable DAD check for the interface:
Connect to Plesk server over SSH;
Execute the following command:
# sysctl -w net.ipv6.conf.XXX.accept_dad=0
Where XXX is the name of an appropriate network interface(i.e.
More information can be found here.
Note: Sometimes it is not possible to remove IP addresses from the interface via Plesk and interface is not manageable via SSH. To workaround that, disable Nginx using the command below and contact service provider to sort the interface issue out:
# plesk sbin nginxmng -d