Puncte:0

nume diferit nginx pentru port diferit

drapel pk

Am două aplicații web (webapp1 portul 7000 și webapp2 portul 8000) pentru uz intern găzduite pe serverul meu VM cu adresa IP 192.168.15.10 (ubuntu 20.04)

Vreau să văd dacă este posibil să atribui nume diferite pentru cele două aplicații web.

Cum vreau să funcționeze lucrurile este:

Dacă un utilizator intern introduce webapp1.random-company.com în browser, acesta va direcționa utilizatorul către webapp1 cu portul 7000 (192.168.15.10:7000)

Dacă un utilizator intern introduce webapp2.random-company.com în browser, acesta va direcționa utilizatorul către webapp2 cu portul 8000 (192.168.15.10:8000)

Am încercat să folosesc nginx pe 192.168.15.10 și am putut direcționa utilizatorii către webapp1.random-company.com (192.168.15.10:7000). Cu toate acestea, nu am reușit să direcționez utilizatorii către webapp2.random-company.De fapt, când un utilizator tasta webapp1.random-company.com:8000, îl direcționează către webapp2.

Este ceva posibil?

O aplicație este construită în django, iar cealaltă este construită în flask

Puncte:0
drapel cn

Nu abordați porturile în adrese URL, puterea lui nginx este capacitatea sa de proxy invers.

Mai întâi, creați fișiere de configurare diferite pentru fiecare aplicație web, nu distrugeți totul într-o singură configurație de server - sau chiar mai rău, în nginx.conf fişier. Setați o în amonte deasupra principalului tău bloc de server pentru fiecare aplicație:

aplicație web în amonte1 {
    server 127.0.0.1:7000 weight=1 fail_timeout=0; #timeout-ul și setările de greutate sunt opționale
    }

În interiorul blocurilor de server, când nginx accesează locația „/”, apelați upstream:

Server {
        asculta 443 ssl http2; #dacă mergeți cu HTTPS - ceea ce ar trebui
        nume_server webapp1.random-company.com;
[...]

Locație / {
        [...]
        proxy_pass http://webapp1;
    }

Repetați pentru aplicație web2 în consecinţă:

aplicație web în amonte2 {
    server 127.0.0.1:8000;
    }

Server {
        asculta 443 ssl http2; #dacă mergeți cu HTTPS - ceea ce ar trebui
        nume_server webapp2.random-company.com;
        [...]

Locație / {
        [...]
        proxy_pass http://webapp2;
    }

În ceea ce privește aplicațiile Django / Flask, de fapt nu trebuie să apelați aplicațiile prin TCP/IP, ați putea avea nginx să asculte direct socket-urile UNIX ale acestora. Ce folosiți pentru a livra aplicația? uWSGI, Gunicorn, (...)?

Citiri suplimentare pentru Flask pe uWSGI

În general, acesta nu este neapărat un subiect Ubuntu, poate că ați dori să verificați în schimb StackOverflow sau Serverfault.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.