Ho un problema con il reindirizzamento nginx. Lavoro su nginx 1.4.4 e ho due reindirizzamenti separati. Dovrebbe funzionare in due modi: Primo reindirizzamento: indirizzo indirizzo1.com reindirizza all'indirizzo address2.com -> Indirizzo address2.com reindirizza ad addres.com.com121234 dove risiede l'applicazione.502 Gateway non valido durante il reindirizzamento su nginx
secondo redirect direttamente dal ddress2.com: - address2.com reindirizza al address2.com:1234
Ora il problema: - reindirizzamento da address1.com a address2.com funziona, ma address2.com per address2.com:port no. Termina con errore 502 Bad Gateway. Configs e
errori dal registro sono presentati qui di seguito: informazioni da error.log:
[error] : *386 connect() failed (111: Connection refused) while connecting to upstream, client: {client ip addr}, server:{server name}, request:
"GET/HTTP/1.1", a monte: "https://127.0.0.1: {porta}", host: "{Server nome} "
Nginx utilizza molti file .conf memorizzati nella posizione conf.d.
address1.conf (Questo funziona):
server {
### server port and name ###
listen {ip_addr}:443;
ssl on;
server_name address1.com;
access_log /var/log/nginx/address1.log;
error_log /var/log/nginx/address1-error.log;
ssl_certificate /etc/httpd/ssl/servercert.crt;
ssl_certificate_key /etc/httpd/ssl/private/serverkey.key;
location/{
rewrite^$scheme://address2.com redirect;
}}
file di address2.com conf (questo non):
server {
### server port and name ###
listen {ip_addr}:443;
ssl on;
server_name address2.com;
access_log /var/log/nginx/address2.log;
error_log /var/log/nginx/address2-error.log;
ssl_certificate /etc/httpd/ssl/servercert.crt;
ssl_certificate_key /etc/httpd/ssl/private/serverkey.key;
proxy_read_timeout 180;
location/{
proxy_pass https://127.0.0.1:{port};
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-HTTPS on;
}}
La cosa divertente è che ho un'altra applicazione a lavorare sullo schema addr3.com -> addr3.com:port e il reindirizzamento funziona perfettamente. L'unica
la differenza tra address2.conf e address3.conf è la porta su cui funzionano le applicazioni. Ogni indirizzo utilizza https, la porta 443 è aperta sul firewall.
Spero che la mia descrizione sia sufficientemente dettagliata, se non solo fammi sapere. Sono stato alle prese con questo problema per un paio di giorni e non ho trovato nessun consiglio o soluzione adatta a me.
Apprezzerei qualsiasi aiuto.