Почему в $_SERVER['HTTP_HOST'] нет поддомена если делать proxy_pass в nginx?

Есть такой nginx конфиг:

server {
       listen 80;
       server_name domain.ru;
       #всякие настройки
}
server {
        listen 80;
        server_name sub.domain.ru;

        location ~ ^(.+.(jpg|jpeg|gif|png|css|doc|xls|pdf|txt|js|svg|woff|woff2|json))$ {
                proxy_pass https://domain.ru/$1;
        }

        location / {
                proxy_pass https://domain.ru/sub/index;
        }

        location /path1 {
                proxy_pass https://domain.ru/path1;
        }

        location /path2 {
                proxy_pass https://domain.ru/path2;
        }

        location /path3 {
                proxy_pass https://domain.ru/path3;
        }
}

Есть код PHP в котором мы должны определить в котором поддомене мы находимся. Но если перейти по пути https://domain.ru/ и посмотреть на $_SERVER['HTTP_HOST'], то там только domain.ru. Поддомена нигде в переменной $_SERVER нет.

Подскажите как сделать так, что бы я видел какой сейчас поддомен в PHP?
Я не силен в настройках nginx и думаю что я где-то накосячил именно в нём.


Ответы (1 шт):

Автор решения: Дмитрий Матвиенко

За ответ спасибо @andreymal.

Все решилось добавлением настройки proxy_set_header X-Original-Host $host; в nginx. После чего в коде просто использовал $_SERVER['HTTP_X_ORIGINAL_HOST']

→ Ссылка