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.

Tips

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
bash

Bekrä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'
bash

Kontrollera sedan att installationen lyckades:

$ systemctl status nginx
bash

Om 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"
bash

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

Nä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;
    }
}
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å 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/
bash

Kontrollera om det finns några 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, ange följande kommando:

$ sudo systemctl restart nginx
bash

Du ä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
bash

Skapa 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"])
txt

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

$ gunicorn --worker=2 test:app
bash

Utmatningen 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. 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”.

Gå till huvudmeny