У меня есть 1 виртуальная машина с Nginx для распределения входящих запросов для разных доменов (поддоменов) с одного IP на разные виртуальные машины.
Мой файл конфигурации Nginx для одного примера пока очень прост.
server {
listen 80;
listen [::]:80;
server_name cloud.something.xyz;
location / {
proxy_pass http://192.168.1.77;
}
}
Это указывает на правильную виртуальную машину, но показывает страницу apache по умолчанию на этой виртуальной машине вместо желаемого виртуального хоста (cloud.something.xyz).
Если я перенаправляю порты на http://192.168.1.77 напрямую, то субдомены / включенные сайты будут работать должным образом, поэтому я думаю, что моя конфигурация Apache в порядке, и проблема связана с конфигурацией Nginx.
proxy_pass http://192.168.1.77/folderloacation
и подобные попытки просто дают мне ошибки конфигурации и другие загадочные результаты
Что мне не хватает, чтобы прокси использовал правильный виртуальный хост вместо перенаправления на страницу по умолчанию для других виртуальных машин?
Мне больше известно о конфигурации прокси на основе Apach, но вам не хватает сохранения заголовка хоста HTTP.
В вашей настройке заголовок хоста не отправляется на настроенный вами прокси.
] Вы должны сохранить его с помощью модуля под названием http://wiki.nginx.org/HttpProxyModule#proxy_set_header
Соответствующий ответ можно найти здесь: https://stackoverflow.com/questions/ 5834025 / how-to-preserve-request-url-with-nginx-proxy-pass