У меня несколько поддоменов, все они указывают на один компьютер и один IP-адрес. На этой машине я хочу, чтобы nginx действовал как обратный прокси, и в зависимости от того, какой поддомен использовался для доступа к машине, я хочу, чтобы он обращался через прокси-сервер на другой сервер. Все примеры использования nginx в качестве обратного прокси, которые я видел location
, но, насколько я понимаю, работает только для пути, а не для разных поддоменов. Как я могу добиться того, чего хочу?
Если я полностью не понял ваш вопрос: вы просто настраиваете серверные блоки для каждого поддомена и определяете правильный обратный прокси-сервер для корня этого поддомена, то есть что-то вроде:
server {
server_name subdomain1.example.com;
location / {
proxy_pass http://hostname1:port1;
}
}
server {
server_name subdomain2.example.com;
location / {
proxy_pass http://hostname2:port2;
}
}
Примерно так же.
location /foo {
rewrite ^/foo(.+)$ /$1 break;
proxy_pass http://foo;
}
location /bar {
rewrite ^/bar(.+)$ /$1 break;
proxy_pass http://bar;
}