NginX reverse proxy with iRedMail Apache2
sim4life
nginx-forum at nginx.us
Tue Apr 15 17:09:51 UTC 2014
On an empty VPS hosting (Ubuntu 13.10 x64), I managed to run the base
iRedMail installation with Apache2 and LDAP and my roundcubemail was
accessible at:
`https://www.mydomain.com/mail`
then I installed NginX, shutdown Apache2, reconfigured iRedMail (without
adding any extra A record in the DNS entry) and managed to run it on NginX
base installation as well with roundcubemail accessible at:
`https://mail.mydomain.com`
Now, I want to run NginX reverse proxy with the base iRedMail Apache2
installation with roundcubemail accessible at:
`https://mail.mydomain.com`
and I'm kinda stuck with the following Apache2 config files:
[quote]/etc/apache2/ports.conf[/quote]
Listen 8080
[quote]/etc/apahce2/sites-available/my-iredmail.conf[/quote]
<VirtualHost *:8080>
DocumentRoot /var/www/
ServerName mail.mydomain.com
Alias / "/usr/share/apache2/roundcubemail/"
<Directory "/usr/share/apache2/roundcubemail">
Options Indexes FollowSymlinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
and following NginX config file:
[quote]/etc/nginx/sites-available/default[/quote]
server {
listen 80 default_server;
listen [::]:80;
root /usr/share/nginx/html;
index index.html index.htm index.php;
server_name mydomain.com www.mydomain.com mail.mydomain.com;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080/;
}
location ~ /\.ht {
deny all;
}
}
server {
listen 443 ssl;
root /var/www;
index index.html index.htm index.php;
server_name mydomain.com www.mydomain.com mail.mydomain.com;
ssl on;
ssl_certificate /etc/ssl/certs/iRedMail_CA.pem;
ssl_certificate_key /etc/ssl/private/iRedMail.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
# Apache is listening here
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
}
Hitting in browser:
`https://mail.mydomain.com`
gives the usual `SSL Connection Error`.
Kindly advise.
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,249312,249312#msg-249312
More information about the nginx
mailing list