Så här konfigurerar du en omvänd proxy för NGINX på Ubuntu 22.04
Att använda NGINX som en omvänd proxy är ett populärt alternativ. För att konfigurera det behöver du bara installera NGINX, skapa en konfigurationsfil och justera dina serverinställningar. Du kan också testa om installationen lyckades med Gunicorn.
Så här konfigurerar du NGINX som en omvänd proxy
Omvända proxyer kan bidra till att öka säkerheten, flexibiliteten och resurstillgängligheten. De placeras mellan klienten och server och är inte upptäckbara för användarna. NGINX omvänd proxy är en starkt rekommenderad lösning för inkommande förfrågningar. Nedan förklarar vi hur du installerar den och ställer in den på Ubuntu 22.04.
Vi har även instruktioner för installation av NGINX på Ubuntu 20.04. Och du kan läsa mer om vad en proxyserver är här.
Vilka är systemkraven för NGINX som en omvänd proxy?
För att konfigurera en NGINX omvänd proxy på Ubuntu 22.04 behöver du följande:
- En fullt konfigurerad Ubuntu-server
- Serverns IP-adress eller Unix domän socket
- Domänen för din server
sudo
behörigheter för servern
Installera NGINX som en omvänd proxy
Uppdatera först ditt repository med hjälp av terminalen för att få tillgång till de senaste paketen. Installera sedan NGINX med hjälp av kommandot apt install
. Här är koden:
$ sudo apt update
$ sudo apt install nginx
bashBekräfta med [Y] och tryck på [Enter] för att tillämpa inställningarna.
Konfigurera sedan brandvägg så att NGINX har åtkomst till din server. Du kan använda följande kommando för att lägga till ett undantag:
$ sudo ufw allow 'Nginx HTTP'
bashKontrollera sedan att installationen lyckades:
$ systemctl status nginx
bashOm NGINX installerades korrekt kommer du att få utdata som ser ut så här:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
Docs: man:nginx(8)
Main PID: 9919 (nginx)
Tasks: 2 (limit: 2327)
Memory: 2.9M
CPU: 50ms
CGroup: /system.slice/nginx.service
├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─9920 "nginx: worker process"
bashSkapar konfigurationsfilen och anpassar servern
Nu kan du konfigurera ditt serverblock för att förbereda NGINX omvänd proxy för ditt system. För att göra det skapar och öppnar du en ny konfigurationsfil med textredigeraren Nano. Ange följande kommando och se till att ersätta platshållaren “your_domain” med namnet på din domän:
$ sudo nano /etc/nginx/sites-available/your_domain
bashNär filen är öppen lägger du till följande innehåll. Ersätt platshållarna “your_domain” och “server_address” med domänen och IP- eller Unix-domänkontakten för din server:
server {
listen 80;
listen [::]:80;
server_name your_domain www.your_domain;
location / {
proxy_pass http://server_address;
include /etc/nginx/proxy_params;
}
}
txtSpara och stäng filen. Innehållet som visas är standardinställningen för NGINX. Den använder port 80 för att svara på förfrågningar från din domän och server. proxy_pass
är en viktig komponent för NGINX:s roll som omvänd proxy. Du kan också konfigurera ytterligare servrar om det behövs.
Skapa sedan en länk till katalogen sites-enabled
som NGINX kommer åt i början. Använd följande kommando och glöm inte att ersätta platshållaren ‘your_domain’:
$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/
bashKontrollera om det finns några fel i din konfiguration:
$ sudo nginx -t
bashOm du inte får några felmeddelanden kan du nu starta om NGINX omvänd proxy för att tillämpa inställningarna. För att göra det, ange följande kommando:
$ sudo systemctl restart nginx
bashDu är nu klar med att konfigurera NGINX som en omvänd proxy. I nästa avsnitt förklarar vi hur du kontrollerar proxyn. Denna testning är dock valfri.
Kontrollera NGINX omvänd proxy med Gunicorn
Om du väljer att testa din NGINX reverse proxy kan du oftast använda din server för det. Om du använder din server öppnar du den med hjälp av skalet. Alternativt kan du använda den magra HTTP-webbservern Gunicorn, som fungerar mycket bra med en NGINX omvänd proxy. Uppdatera först paketen och installera servern:
$ sudo apt update
$ sudo apt install gunicorn
bashSkapa sedan en enkel funktion som ska skickas som ett HTTP-svar till din webbläsare. Använd nano igen:
$ nano test.py
bashÖppna filen och skriv in följande kod:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"This is a test"])
txtSpara sedan och stäng filen. Starta därefter Gunicorn och öppna testmodulen:
$ gunicorn --worker=2 test:app
bashUtmatningen bör se ut ungefär så här:
[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570
bashDet är bekräftelsen på att Gunicorn interagerar med adressen http://127.0.0.1:8000
. Slutligen öppnar du din webbläsare och går till den domän du konfigurerade med NGINX. NGINX omvända proxy kommer att visa meddelandet “Detta är ett test”.