Att använda NGINX som 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 konfigurationen lyckades med Gunicorn.

Hur man konfigurerar NGINX som en omvänd proxy

Omvända proxyservrar kan bidra till ökad säkerhet, flexibilitet och resurstillgänglighet. De placeras mellan klienten och servern och är inte synliga 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 och konfigurerar den på Ubuntu 22.04.

Vilka är systemkraven för NGINX som 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änsockel
  • Din servers domän
  • sudo privilegier för servern

Installera NGINX som omvänd proxy

Uppdatera först ditt arkiv med hjälp av terminalen för att få tillgång till de senaste paketen. Installera sedan NGINX med kommandot apt install. Här är koden:

$ sudo apt update
$ sudo apt install nginx
bash

Bekräfta med [Y] och tryck på [Enter] för att tillämpa inställningarna.

Konfigurera sedan din 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'
bash

Kontrollera sedan att installationen lyckades:

$ systemctl status nginx
bash

Om NGINX har installerats korrekt får du ett resultat 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"
bash

Skapa konfigurationsfilen och anpassa 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 du och öppnar 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
bash

När filen är öppen, lägg till följande innehåll. Ersätt platshållarna “din_domän” och “serveradress” med domänen och IP-adressen eller Unix-domänsocketen 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;
    }
}
txt

Spara 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å ställa in ytterligare servrar om det behövs.

Skapa sedan en länk till katalogen sites-enabled som NGINX öppnar i början. Använd följande kommando och glöm inte att ersätta platshållaren “din_domän”:

$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/
bash

Kontrollera om det finns fel i din konfiguration:

$ sudo nginx -t
bash

Om 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 anger du följande kommando:

$ sudo systemctl restart nginx
bash

Nu är du klar med konfigurationen av NGINX som 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-omvända proxy kan du vanligtvis 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 smidiga 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
bash

Skapa sedan en enkel funktion som skickas som ett HTTP-svar till din webbläsare. Använd nano igen:

$ nano test.py
bash

Öppna filen och ange följande kod:

def app(environ, start_response):
	start_response("200 OK", [])
	return iter([b"This is a test"])
txt

Spara och stäng sedan filen. Starta därefter Gunicorn och öppna testmodulen:

$ gunicorn --worker=2 test:app
bash

Resultatet 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
bash

Det är bekräftelsen på att Gunicorn interagerar med adressen http://127.0.0.1:8000. Öppna slutligen din webbläsare och gå till domänen som du konfigurerade med NGINX. NGINX omvänd proxy visar meddelandet “This is a test” (Detta är ett test).

Gå till huvudmeny