Proxy reverso NginX com iRedMail Apache2

1

Em uma hospedagem VPS vazia, consegui executar a instalação básica do iRedMail com o Apache2 e o LDAP e meu roundcubemail estava acessível em:% https://www.mydomain.com/mail

depois instalei o NginX, encerrei o Apache2, reconfigurei o iRedMail (sem adicionar nenhum registro A extra na entrada DNS) e consegui executá-lo na instalação base do NginX, bem como com o e-mail roundcubemail acessível em:% https://mail.mydomain.com

Agora, quero executar o proxy reverso NginX com a instalação base do iRedMail Apache2 com o e-mail roundcubemail acessível em:% https://mail.mydomain.com
e eu estou meio preso com os seguintes arquivos de configuração do Apache2:
/etc/apache2/ports.conf

Listen 8080

/etc/apahce2/sites-available/my-iredmail.conf

<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>

e seguindo o arquivo de configuração do NginX:

/etc/nginx/sites-available/default

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;
   }

}

Acertando no navegador:
https://mail.mydomain.com dá o usual SSL Connection Error .
Por favor, informe.

    
por Shah Ismail 14.04.2014 / 16:42

1 resposta

0

Seu problema está aqui:

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/;
}

Você não pode usar proxy_pass em um local que não seja estático. Você deveria fazer o contrário. Faça uma lista de coisas que devem ser carregadas localmente pelo nginx e então passe o location / usando proxy_pass de volta para o Apache.

    
por 16.04.2014 / 09:32