NGINX Usando proxy_set_header Host $ host; me manda para 404

1
server {
    listen  80;
    server_name _;

    location /test/ {
    proxy_pass http://example.com/page.php;
    }
}

Atualmente, quando uso este proxy reverso Nginx, quando visito de test.com/test/ , ele me serve https://example.com/page.php , mas a URL permanece a mesma. Quando eu chamo $_SERVER['http_host'] , ele retorna o hostname de example.com, em vez do hostname do qual fiz a solicitação (url no domínio).

Eu tentei usar: proxy_set_header Host $host; , mas isso me leva a uma página 404 depois que eu executo isso.

Em suma,

Gostaria de visitar test.com/test e ser servido link but have the hostname of test.com / test when I call $ _ SERVER 'em PHP

EDITAR:

events {
    worker_connections 1024;
}

http {
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    server {
        listen  80;
        server_name _;

        location / {
                proxy_set_header Host $host; #works without this
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_intercept_errors on;

        proxy_pass http://example.com;
        }
    }
}
    
por ZZPLKF 15.09.2017 / 00:04

0 respostas

Tags