Eu preciso que o servidor da Web Nginx conecte-se a um servidor https que escuta na porta 443. O servidor https
não pode ser acessado diretamente por Nginx
server machine e para alcançar o servidor https
que o servidor nginx
precisa defina os parâmetros http_proxy
e https:proxy
.
Antes, estamos usando o Apache e conseguimos o mesmo usando o parâmetro ProxyRemote * http://10.23.45.32:3128
, que permite que o servidor apache se conecte ao servidor https
remoto por meio do servidor proxy.
Estamos no processo de passar do apache para o Nginx e precisamos saber como adicionar as regras de proxy para que Nginx
server possa passar a solicitação para https
server.
Eu tenho a configuração abaixo para o Nginx.
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
#below path is working fine
location /cities.json {
proxy_pass http://hostname.net:8080/cities.json;
}
#below rule is working fine
location /states/ {
proxy_pass http://hostname.net:8080;
}
#below rule is giving 504 gateway timeout error.
location /auth {
#cannot call https://authenticationserver.net directly and need to go through proxy by setting http_proxy to http://proxy.host.net:3128
proxy_pass https://authenticationserver.net:443;
}
}
No Apache, eu costumava fazer a configuração abaixo para definir o proxy:
<VirtualHost *:8000>
ServerName hostname.net
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from all
</Location>
<Proxy balancer://authncluster>
BalancerMember https://target.host.net
</Proxy>
<Proxy *>
Order Allow,Deny
Allow From All
</Proxy>
ProxyRemote * http://proxy.host.net:3128
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass /balancer-manager !
ProxyPass /authn/ balancer://authncluster/authn/
ProxyTimeout 300
</VirtualHost>
Espero que isso ajude. Por favor, deixe-me saber como fazer a configuração no Nginx.