Eu resolvi o problema. POUND (meu proxy-ssl) por padrão reescreve automaticamente todos os locais. Eu adicionei
RewriteLocation 0
para o pound.cfg e finalmente funcionou.
Estou tentando usar o nginx para fazer solicitações de proxy ao meu back-end interno.
Minha configuração é a seguinte:
location /Shibboleth.sso {
proxy_pass internal-backend; # ip
proxy_redirect off;
}
Mas meus redirecionamentos são sempre reescritos. Meu back-end retorna uma resposta como link e meu navegador recebe link
Como obtenho o nginx para encaminhar a resposta?
Eu resolvi o problema. POUND (meu proxy-ssl) por padrão reescreve automaticamente todos os locais. Eu adicionei
RewriteLocation 0
para o pound.cfg e finalmente funcionou.
Aqui está minha configuração:
set $s3_bucket '<BUCKETNAME>.s3.amazonaws.com';
location / {
send_timeout 5m;
proxy_read_timeout 240;
proxy_send_timeout 240;
proxy_connect_timeout 240;
proxy_http_version 1.1;
proxy_set_header Host $s3_bucket;
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_ignore_headers "Set-Cookie";
proxy_buffering off;
proxy_intercept_errors on;
proxy_redirect off;
resolver 8.8.8.8;
proxy_pass http://$s3_bucket;
}
Testado e funcionando. Ele apenas passa o URI para a instância do S3, permitindo que você encerre a conexão SSL no proxy. Útil para firewalls e tais que exigem um IP estático; como o espaço de endereço da AWS é enorme para fins de lista branca.
Tags nginx reverse-proxy rewrite