Bagaimana cara membalikkan proxy ke berbagai tempat tergantung pada subdomain di Nginx?

13

Saya memiliki beberapa subdomain, semuanya menunjuk ke satu mesin, dan satu alamat IP. Pada mesin ini, saya ingin nginx bertindak sebagai proxy terbalik, dan tergantung pada subdomain mana yang digunakan untuk mengakses mesin, saya ingin itu membalikkan proxy ke server yang berbeda. Semua contoh yang saya lihat menggunakan nginx sebagai penggunaan proksi terbalik location, tetapi seperti yang saya pahami bahwa hanya berfungsi untuk path, bukan untuk subdomain yang berbeda. Bagaimana saya bisa mencapai apa yang saya inginkan?

perangkat lunak markas
sumber
2
Ini mungkin agak terlalu luas. Bisakah Anda memposting lebih banyak tentang apa yang sudah Anda coba?
Will

Jawaban:

27

Kecuali saya benar-benar salah membaca pertanyaan Anda: Anda cukup menyiapkan blok server untuk setiap sub-domain dan menentukan proxy terbalik yang benar untuk root subdomain itu yaitu sesuatu di sepanjang baris:

 server {
        server_name subdomain1.example.com;
        location / {
            proxy_pass       http://hostname1:port1;
        }
 }
 server {
        server_name subdomain2.example.com;
        location / {
            proxy_pass       http://hostname2:port2;
        }
 }
HBruijn
sumber
Maaf atas keterlambatan respons, tetapi saya berhasil!
markasoftware
3

Hampir sama caranya.

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

location /bar {
    rewrite ^/bar(.+)$ /$1 break;
    proxy_pass http://bar;
}
drookie
sumber
1
Ini bukan apa yang saya cari. Lihat jawaban yang diterima
markasoftware
1
Mengunyah dan mencerna adalah beban pemohon, bukan milikku.
drookie