Mam problem z przekierowaniem nginx. Pracuję nad Nginx 1.4.4 i mam dwa oddzielne przekierowania. Powinno działać na dwa sposoby: Pierwsze przekierowanie: Adres address1.com przekierowuje na adres address2.com -> Adres address2.com przekierowuje do addres2.com:1234, gdzie znajduje się aplikacja.502 Zła brama podczas przekierowywania na nginx
drugie przekierowanie jest bezpośrednio z ddress2.com: - address2.com przekierowuje do address2.com:1234
Teraz problem: - przekierowanie z address1.com do address2.com działa, ale address2.com na adres2.com:port nie działa. Kończy się błędem 502 Bad Gateway. Configs i
błędy z dziennika zostały przedstawione poniżej: Informacje z 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" upstream "https://127.0.0.1: {port}", host: „{serwer nazwa} "
Nginx używa wielu plików .conf przechowywanych w lokalizacji conf.d.
address1.conf (działa to):
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;
}}
plik address2.com conf (To nie):
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;
}}
Zabawne jest to, że mam inną aplikację pracuje na systemie addr3.com -> addr3.com:port i przekierowanie działają po prostu idealnie. Jedyną różnicą między adresem address2.conf i address3.conf jest port, na którym działają aplikacje. Każdy adres wykorzystuje https, port 443 jest otwarty na zaporze.
Mam nadzieję, że mój opis jest wystarczająco szczegółowy, jeśli nie tylko daj mi znać. Mam problem z tym problemem przez kilka dni i nie znalazłem żadnych wskazówek lub rozwiązań odpowiednich dla mnie.
Byłbym wdzięczny za każdą pomoc.