Basta enviar o cabeçalho de host correto para o seu proxy, removendo a linha proxy_set_header Host $http_host
.
Se a.b
estiver configurado como um nome de servidor em seu bloco de servidores, você nem precisará da diretiva proxy_redirect
se usar uma barra no prefixo de local e na meta proxy_pass
, conforme explicado na documentação :
Syntax: proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement; Default: proxy_redirect default; Context: http, server, location
[ ...]
The default replacement specified by the default parameter uses the parameters of the location and proxy_pass directives. Hence, the two configurations below are equivalent:
location /one/ { proxy_pass http://upstream:port/two/; proxy_redirect default; } location /one/ { proxy_pass http://upstream:port/two/; proxy_redirect http://upstream:port/two/ /one/; }
[ ....]
Então, isso deve ser feito:
server {
server_name a.b;
location /c/ {
proxy_pass http://username.github.io/project/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
}
}