Dos documentos nginx em proxy_pass
:
Note that the HTTP Host header is not forwarded, but is set based on the proxy_pass statement.
Isso significa que sua linha proxy_set_header Host $host;
não tem efeito. O cabeçalho real do host passado para o Apache será Host: 127.0.0.1
de acordo com a instrução proxy_pass
.
Eu recomendo essa seção location /
como proxy, conforme descrito por você:
location / {
proxy_set_header Connection Close;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://example.com:80;
}