Vraag Hoe proxy naar verschillende plaatsen terug te zetten, afhankelijk van het subdomein in Nginx?


Ik heb meerdere subdomeinen, die allemaal naar één machine verwijzen en één IP-adres. Op deze machine wil ik dat nginx werkt als een omgekeerde proxy, en afhankelijk van welk subdomein werd gebruikt om toegang te krijgen tot de machine, wil ik dat proxy wordt omgezet in een andere server. Alle voorbeelden die ik heb gezien bij het gebruik van nginx als een reverse proxy-gebruik location, maar zoals ik begrijp werkt dat alleen voor het pad, niet voor verschillende subdomeinen. Hoe kan ik bereiken wat ik wil?


6
2018-02-01 04:03


oorsprong


Dit is misschien een beetje te breed. Kun je meer posten over wat je al hebt geprobeerd? - Will


antwoorden:


Tenzij ik uw vraag volledig verkeerd heb gelezen: u stelt simpelweg serverblokken in voor elk subdomein en definieert de juiste omgekeerde proxy voor de hoofdmap van dat subdomein, d.w.z. iets in de trant van:

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

13
2018-02-01 10:11



Sorry voor de late reactie, maar ik heb het laten werken! - markasoftware


Vrijwel dezelfde manier.

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


3
2018-02-01 05:37



Dit was niet precies wat ik zocht. Zie het geaccepteerde antwoord - markasoftware
Kauwen en verteren is de laster, niet de mijne. - drookie