Jak odwrócić proxy do różnych miejsc w zależności od poddomeny w Nginx?


14

Mam wiele subdomen, z których wszystkie wskazują na jeden komputer i jeden adres IP. Na tym komputerze chcę, aby nginx działał jako odwrotny serwer proxy i zależnie od tego, która subdomena została użyta do uzyskania dostępu do komputera, chcę, aby odwrócił serwer proxy na inny serwer. Wszystkie przykłady użycia nginx jako odwrotnego użycia proxy location, ale rozumiem, że działa tylko dla ścieżki, a nie dla różnych poddomen. Jak mogę osiągnąć to, czego chcę?


2
To może być trochę za szerokie. Czy możesz napisać więcej o tym, czego już próbowałeś?
Czy

Odpowiedzi:


27

Chyba że całkowicie błędnie odczytałem twoje pytanie: po prostu konfigurujesz bloki serwera dla każdej subdomeny i definiujesz prawidłowe odwrotne proxy dla katalogu głównego tej subdomeny, tj. Coś w stylu:

 server {
        server_name subdomain1.example.com;
        location / {
            proxy_pass       http://hostname1:port1;
        }
 }
 server {
        server_name subdomain2.example.com;
        location / {
            proxy_pass       http://hostname2:port2;
        }
 }

Przepraszam za spóźnioną odpowiedź, ale udało mi się!
markasoftware

3

Prawie w ten sam sposób.

location /foo {
    rewrite ^/foo(.+)$ /$1 break;
    proxy_pass http://foo;
}

location /bar {
    rewrite ^/bar(.+)$ /$1 break;
    proxy_pass http://bar;
}

1
Nie tego dokładnie szukałem. Zobacz zaakceptowaną odpowiedź
markasoftware

1
Żucie i trawienie to ciężar żądającego, a nie mój.
drookie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.