5 ms·
The issue that HAProxy is encountering with SO_REUSEPORT is not an issue for Nginx's use case. In the HAProxy case one of the sockets belongs to the old server
by caf 11y ago
The issue that HAProxy is encountering with SO_REUSEPORT is not an issue for Nginx's use case.
In the HAProxy case one of the sockets belongs to the old server which is going away, and a new connection can be assigned to that socket right before it does so. For Nginx, all of the sockets are accepting new connections.
- otterley 11y agoWhat happens during the reload case for nginx? At reload time, the previous-generation worker that bound to the socket with SO_REUSEPORT will need to close its listener, just like haproxy.
- ArmTank 11y agoIn nginx worker processes don't open and don't close sockets. They inherit them from the master process.
- caf 11y agoWhen reloading, nginx starts up a new set of workers and duplicates the sockets across to them with SCM_RIGHTS. None of the sockets is closed - only duplicate file descriptors.