2 How to use multiple IPs on your server, also for your SSL enabled sites?
4 You can use a quick and simple recipe, explained below.
7 1. Use existing or deploy a new site as usual - don't enable SSL features in Aegir.
9 2. Create two extra configuration files with contents as shown further below.
11 * Replace YO.UR.AEGIR.IP with your Aegir Hostmaster main IP address.
12 * Replace YO.UR.EXTRA.IP1,2,3 etc with correct extra IP addresses.
13 * Paste your SSL key in the file /etc/ssl/private/abc-ssl-enabled-domain.key
14 * Paste your SSL certificate and all intermediate certificates (bundles)
15 in the file /etc/ssl/private/abc-ssl-enabled-domain.crt
17 3. Restart Nginx with `service nginx reload` or `service nginx restart`. Done!
22 ### Plain HTTP proxy to add more IPs for HTTP connections (START)
24 ### CREATE THIS FILE AS: /var/aegir/config/server_master/nginx/pre.d/extra_ip.conf
27 server YO.UR.AEGIR.IP:80;
30 listen YO.UR.EXTRA.IP1:80;
31 listen YO.UR.EXTRA.IP2:80;
32 listen YO.UR.EXTRA.IP3:80;
35 proxy_pass http://extra_ip;
38 proxy_set_header Host $host;
39 proxy_set_header X-Real-IP $remote_addr;
40 proxy_set_header X-Forwarded-By $server_addr:$server_port;
41 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
42 proxy_set_header X-Local-Proxy $scheme;
43 proxy_pass_header Set-Cookie;
44 proxy_pass_header Cookie;
45 proxy_pass_header X-Accel-Expires;
46 proxy_pass_header X-Accel-Redirect;
47 proxy_pass_header X-This-Proto;
48 proxy_connect_timeout 300;
49 proxy_send_timeout 300;
50 proxy_read_timeout 300;
53 proxy_busy_buffers_size 64k;
54 proxy_temp_file_write_size 64k;
60 ### Plain HTTP proxy to add more IPs for HTTP connections (END)
66 ### Secure HTTPS proxy to add more IPs for HTTPS connections (START)
68 ### CREATE THIS FILE AS: /var/aegir/config/server_master/nginx/pre.d/extra_ip_ssl.conf
70 upstream extra_ip_ssl {
71 server YO.UR.AEGIR.IP:80;
74 ### FOR abc-ssl-enabled-domain.com
77 listen YO.UR.EXTRA.IP1:443;
80 ssl_certificate /etc/ssl/private/abc-ssl-enabled-domain.crt;
81 ssl_certificate_key /etc/ssl/private/abc-ssl-enabled-domain.key;
82 ssl_session_timeout 5m;
83 ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
84 ssl_ciphers RC4:HIGH:!aNULL:!MD5;
85 ssl_prefer_server_ciphers on;
88 ### Deny known crawlers.
93 if ($deny_on_high_load) {
97 proxy_pass http://extra_ip_ssl;
100 proxy_set_header Host $host;
101 proxy_set_header X-Real-IP $remote_addr;
102 proxy_set_header X-Forwarded-By $server_addr:$server_port;
103 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
104 proxy_set_header X-Local-Proxy $scheme;
105 proxy_set_header X-Forwarded-Proto $scheme;
106 proxy_pass_header Set-Cookie;
107 proxy_pass_header Cookie;
108 proxy_pass_header X-Accel-Expires;
109 proxy_pass_header X-Accel-Redirect;
110 proxy_pass_header X-This-Proto;
111 proxy_connect_timeout 300;
112 proxy_send_timeout 300;
113 proxy_read_timeout 300;
114 proxy_buffer_size 4k;
116 proxy_busy_buffers_size 64k;
117 proxy_temp_file_write_size 64k;
123 ### FOR xyz-ssl-enabled-domain.com
126 listen YO.UR.EXTRA.IP2:443;
129 ssl_certificate /etc/ssl/private/xyz-ssl-enabled-domain.crt;
130 ssl_certificate_key /etc/ssl/private/xyz-ssl-enabled-domain.key;
131 ssl_session_timeout 5m;
132 ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
133 ssl_ciphers RC4:HIGH:!aNULL:!MD5;
134 ssl_prefer_server_ciphers on;
135 keepalive_timeout 70;
137 ### Deny known crawlers.
142 if ($deny_on_high_load) {
146 proxy_pass http://extra_ip_ssl;
149 proxy_set_header Host $host;
150 proxy_set_header X-Real-IP $remote_addr;
151 proxy_set_header X-Forwarded-By $server_addr:$server_port;
152 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
153 proxy_set_header X-Local-Proxy $scheme;
154 proxy_set_header X-Forwarded-Proto $scheme;
155 proxy_pass_header Set-Cookie;
156 proxy_pass_header Cookie;
157 proxy_pass_header X-Accel-Expires;
158 proxy_pass_header X-Accel-Redirect;
159 proxy_pass_header X-This-Proto;
160 proxy_connect_timeout 300;
161 proxy_send_timeout 300;
162 proxy_read_timeout 300;
163 proxy_buffer_size 4k;
165 proxy_busy_buffers_size 64k;
166 proxy_temp_file_write_size 64k;
172 ### Secure HTTPS proxy to add more IPs for HTTPS connections (END)