> Ровным счетом так nginx и поступает, если передан absoluteURI, то
> виртуальный
> сервер определяется по нему, а заголовок Host игнорируется.
Ровным счетом так же должен поступать и бекенд, игнорировать заголовок Host, если передан absoluteURI.
Но дело в том что бекенд не получает, raw запрос с absoluteURI, именно по этой причине бекенду необходимо передать, то значения HTTP_HOST, которое использовал Nginx для определения вирт хоста.
В противном случаи возможны коллизии, приведу примеры.
На одном хостинге, хостятся два конкурирующих электронных магазина, например: apple-shop.com и samsung-shop.com, в котором используется Nginx кеширования.
Для каждого вирт хоста прописан proxy_cache_key $proxy_host$request_uri.
Теперь делаем запрос
GET http://apple-shop.com/ HTTP/1.1
Host: samsung-shop.com
В результате чего, ответ бекенда сохранится в кеше Nginx с ключом " samsung-shop.com/" но содержать внутри будет страницу apple-shop.com/.
На все последующие запросы samsung-shop.com будет отдаваться страница с товарами Apple, так как внутри кеш файла с ключом "samsung-shop.com/" будет страница хоста apple-shop.com.
И так будут работать бекенды на любом языке программирования не только на РНР, те самые правильные программисты которых не расстреляли, будут в недоумения, что они сделали не так, вить все же сделано в точности как написано в официал документации Nginx :)