Назад | Перейти на главную страницу

nginx с proxy_pass возвращает неверный proxy_set_header

Я делаю обратный прокси:

server {
    listen 90 ssl;
    server_name 192.168.5.11;

    location /myshop/ {
        proxy_pass http://192.168.5.10:80/another_shop/;

        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        add_header Front-End-Https   on;
        proxy_read_timeout 90;
        proxy_redirect off;
    }
}

Когда я приезжаю https://192.168.5.11:90/myshop/в $ _SERVER ['REQUEST_URI'] у меня есть / another_shop / вместо «виртуального» расположения nginx / myshop /

Добавьте следующие строки в конфигурацию nginx

location /myshop/ {
    proxy_pass http://127.0.0.1:80;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port 443;
    proxy_set_header Host $host;
    #proxy_connect_timeout       86400;
    #proxy_send_timeout          86400;
    #proxy_read_timeout          86400;
    #send_timeout                86400;
    #client_max_body_size 50m;
    #client_body_buffer_size 16k;
}