If you install Aegir on Nginx, and edit the server node and add an extra IP address (total of two IP addresses), Nginx will only listen on the first IP address in the list. Instead, Nginx should listen on all supplied IP addresses.
I think this should be something very simple, but I haven't dug into it yet. The root of the problem is that in /var/aegir/config/server_master/nginx/vhost.d/*, there is only one listen directive. I've confirmed that adding another listen directive to those vhost files and restarting nginx will solve the problem, but that change is overwritten upon verifying the site from the Aegir UI.
Comments
Comment #1
omega8cc CreditAttribution: omega8cc commentedThe problem is that we don't use wildcard in the Nginx version, like it is used in the Apache version, so extra IPs are never added to the default vhost, however they should work w/o issues in any non-default vhost. I will check what can we do to fix this.
Comment #2
cweagansCan we just do something like this in the vhost template?
(I realize that all of the IP addresses aren't provided to the tpl, but should we make that happen?)
Comment #3
omega8cc CreditAttribution: omega8cc commentedFix tested and committed both to 6.x-1.x and 6.x-2.x
Thanks!
Comment #4
cweagansHeh, I didn't think that'd actually work. I wasn't sure if $ip_addresses is actually supplied to the template. Does it work for you?
Comment #5
omega8cc CreditAttribution: omega8cc commentedYes, it works. We already had this in the catch-all vhost for HTTPS, so the fix for plain HTTP was simple.
Comment #6
omega8cc CreditAttribution: omega8cc commentedBTW, the code was different, of course, see related commits:
http://drupalcode.org/project/provision.git/commit/48c1750
http://drupalcode.org/project/provision.git/commit/02a2f9e