Topp 50 Nginx-intervjufrågor och svar (2026)

De viktigaste Nginx-intervjufrågorna och svaren

Att förbereda sig för en Nginx-intervju kräver framsynthet, tydlighet och medvetenhet om hur intervjuare utvärderar verklig operativ kunskap idag. Nginx-intervjufrågor avslöjar djup, beslutsfattande, felsökningsförmåga och produktionsberedskap.

Dessa roller öppnar vägar inom molninfrastruktur, prestandateknik och säkerhet, där praktiska konfigurationer är viktiga. Arbetsgivare värdesätter teknisk erfarenhet, domänexpertis och analyser som erhållits från arbete inom området, och hjälper nyutexaminerade, mellannivåingenjörer och seniora yrkesverksamma att tillämpa grundläggande till avancerade färdigheter inom team under ledning av chefer och teamledare.
Läs mer ...

👉 Gratis PDF-nedladdning: Nginx intervjufrågor och svar

De viktigaste Nginx-intervjufrågorna och svaren

1) Förklara vad NGINX är och varför det används flitigt inom webbinfrastruktur.

NGINX är en högpresterande webbserver med öppen källkod som även fungerar som en omvänd proxy, lastbalanserare och HTTP-cache. Den stöder HTTP-, HTTPS-, SMTP-, POP3- och IMAP-protokoll. Arkitekturen använder en event-driven, asynchronous model vilket gör det möjligt att hantera tiotusentals samtidiga anslutningar med låg minnes- och CPU-användning. Denna skalbarhet gör NGINX särskilt lämplig för webbapplikationer med hög trafik, mikrotjänster och distribuerade arkitekturer. Till exempel föredrar företag med hög trafikbelastning (som innehållsplattformar eller API-gateways) ofta NGINX för att effektivt hantera samtidiga anslutningar och leverans av statiskt innehåll.


2) Hur hanterar NGINX HTTP-förfrågningar internt (händelsedriven arkitektur)?

NGINXs kärnstyrka ligger i dess event-driven, non-blocking architectureIstället för att skapa en separat tråd eller process för varje begäran (som traditionella servrar) använder NGINX en liten uppsättning arbetsprocesser som använder asynkrona händelseloopar. Varje arbetare kan hantera tusentals anslutningar genom att vänta på meddelanden om operativsystemets beredskap och bearbeta händelser när de inträffar. Eftersom den inte blockerar I/O-operationer kan NGINX hantera statiskt och proxierat innehåll med minimala resurser. Denna modell är idealisk för användningsfall med hög samtidighet, vilket gör den effektivare än processbaserade servrar under tung belastning.


3) Vilka är de främsta skillnaderna mellan NGINX och Apache?

Även om både NGINX och Apache är populära webbservrar, skiljer de sig åt i arkitektur, prestanda och designmål:

Aspect nginx Apache
Samtidighetsmodell Händelsedriven (asynkron, icke-blockerande) Process-/trådbaserad (blockering)
Minnesanvändning Låg per anslutning Högre per anslutning
Bästa användningsfallet Hög trafik, statiskt innehåll, lastbalansering Dynamiskt innehåll och ett rikt modulekosystem
Skalbarhet Skalar med färre resurser Kräver mer hårdvara på grund av processer
Modulhantering Moduler valda vid kompileringstillfället Dynamisk vid körning

NGINXs design optimerar prestanda under belastning, medan Apache ger större flexibilitet med dynamiska moduler och brett språkstöd.


4) Vilka är de viktigaste komponenterna i en NGINX-konfigurationsfil?

En NGINX-konfigurationsfil (standardsökväg: /etc/nginx/nginx.conf) består av strukturerade direktivblock som avgör hur NGINX beter sig:

  • Huvudkontext: globala inställningar som till exempel worker_processes, error_logoch pid
  • Händelseblock: hanterar arbetaranslutningar och multibearbetning
  • HTTP-block: innehåller konfigurationer för HTTP-hantering (komprimering, cachning, gzip, etc.)
    • Serverblock: definierar virtuella värdar (domäner och portar)
    • Platsblock: definierar routingregler och hur specifika URI:er hanteras

Dessa block samarbetar för att dirigera förfrågningar, definiera proxyinställningar och konfigurera SSL/TLS och cachning.


5) Hur laddar man om NGINX-konfigurationen på ett säkert sätt utan driftstopp?

För att ladda om NGINX med uppdaterade konfigurationer without interrupting active connections, använder du följande kommando:

nginx -s reload

eller på system som använder systemd:

sudo systemctl reload nginx

Det här kommandot signalerar till huvudprocessen att läsa om konfigurationsfilerna och starta om arbetare utan att ta bort befintliga anslutningar. Att veta hur man utför sådana sömlösa omladdningar är viktigt i miljöer som kräver hög tillgänglighet.


6) Beskriv hur man konfigurerar NGINX som en omvänd proxy.

En omvänd proxy vidarebefordrar klientförfrågningar till backend-servrar (uppströmsgrupp) och returnerar sedan svaret. Nedan följer ett typiskt NGINX-block för omvänd proxy:

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
        }
    }
}

Den här konfigurationen förbättrar säkerheten, tillhandahåller belastningsfördelning och möjliggör cachning eller hastighetsbegränsande principer mellan klienter och applikationsservrarna.


7) Förklara NGINX Master- och Worker-processer.

I NGINX:

  • Ocuco-landskapet Huvudprocess hanterar konfiguration, startar arbetsprocesser och hanterar privilegierade operationer som att binda till portar.
  • Arbetarprocesser utföra den faktiska hanteringen av förfrågningar – bearbeta inkommande anslutningar och köra konfigurerade regler.

Flera arbetare förbättrar samtidighet och kan justeras beroende på tillgängliga CPU-kärnor och trafikkrav. Att dela roller förbättrar prestanda och stabilitet.


8) Hur kan man begränsa bearbetning av odefinierade servernamn i NGINX?

Att ta bort förfrågningar utan ett giltigt Host rubrik i NGINX:

server {
    listen 80;
    server_name "";
    return 444;
}

Denna konfiguration returnerar kod 444, en icke-standardiserad NGINX-status som stänger anslutningen utan svar, vilket effektivt avvisar odefinierade värdar och förbättrar säkerheten.


9) Vad används ngx_http_upstream_modulen till?

Ocuco-landskapet ngx_http_upstream_module definierar groups of backend servers (uppströms) som NGINX kan skicka förfrågningar till med hjälp av direktiv som proxy_pass, fastcgi_pass, eller uwsgi_passDetta möjliggör flexibilitet vid skalning av applikationer bakom lastbalanserade miljöer. När flera backend-servrar grupperas kan NGINX distribuera trafik baserat på definierade policyer, med stöd för round-robin och andra strategier.


10) Beskriv hur NGINX används för att leverera statiskt och dynamiskt innehåll.

NGINX är mycket effektiv på att servera statiska filer (HTML, CSS, bilder) direkt med hjälp av dess optimerade händelseslinga och fil-I/O-mekanismer. dynamiskt innehållNGINX skickar förfrågningar till backend-processorer som PHP-FPM, Python WSGI-servrar eller applikationsramverk via FastCGI/proxymekanismer. Denna separation gör att NGINX kan fungera utmärkt som en statisk filserver samtidigt som backend-tjänster utnyttjas för dynamisk generering, vilket säkerställer optimal prestanda och skalbarhet.


11) Hur fungerar lastbalansering i NGINX, och vilka olika metoder finns tillgängliga?

NGINX erbjuder robusta lastbalansering genom upstream Direktivet distribuerar trafik över flera backend-servrar för att optimera prestanda och säkerställa hög tillgänglighet. Det stöder flera metoder:

Metod BESKRIVNING Bästa användningsfallet
LISTA MED NAMNEN I CIRKEL Standardmetod som roterar förfrågningar mellan servrar sekventiellt. Jämnt fördelade arbetsbelastningar.
Minsta anslutningar Skickar förfrågningar till servern med minst antal aktiva anslutningar. Långvariga sessioner.
IP Hash Använder klient-IP för att avgöra serverval. Sessionsbeständighet.
Minst tid Saldon baserade på svarstid och antal anslutningar. Latenskänsliga applikationer.

NGINX kan också utföra hälsokontroller att dynamiskt ta bort ohälsosamma servrar, vilket säkerställer ett smidigt trafikflöde och motståndskraft.


12) Vad är skillnaden mellan NGINX öppen källkod och NGINX Plus?

nginx Open Source är communityversionen som erbjuder grundläggande webbserver-, proxy- och lastbalanseringsfunktioner. NGINX Plus är den kommersiella utgåvan som utökar dessa funktioner med förbättringar i företagsklass, såsom avancerad övervakning, sessionshållning, dynamisk omkonfiguration och aktiva hälsokontroller.

Leverans NGINX öppen källkod NGINX Plus
Lastbalansering Grundläggande (Round Robin, IP-hash) Avancerad (kortast tid, dynamisk omkonfiguration)
Övervakning Manuella/externa verktyg Inbyggd instrumentpanel och API
caching Grundläggande Förbättrad med rensningskontroll
Support Endast gemenskapen Företagssupport och uppdateringar

Organisationer med verksamhetskritiska arbetsbelastningar väljer ofta NGINX Plus för dess förbättrade tillförlitlighet och observerbarhet.


13) Hur implementerar man cachning i NGINX?

Cachning i NGINX förbättrar svarshastigheten och minskar belastningen på backend-enheten genom att lagra innehåll som används ofta lokalt. Det aktiveras med hjälp av proxy_cache direktiv. Exempelkonfiguration:

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g;
server {
    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}

Cachade svar levereras direkt från disken när en matchande begäran anländer, vilket hoppar över uppströmsbearbetning. Du kan styra cachens utgångsdatum med hjälp av proxy_cache_valid och exkludera specifika URI:er med proxy_no_cacheDenna mekanism är avgörande för miljöer med hög trafik, som nyhets- eller e-handelssajter.


14) Förklara syftet med och användningen av direktivet ”try_files”.

Ocuco-landskapet try_files Direktivet kontrollerar förekomsten av filer i en specifik ordning innan en begäran skickas till reservplatsen. Det används vanligtvis för statisk webbplatsrouting or enkelsidiga ansökningar (SPA).

Exempelvis:

location / {
    try_files $uri $uri/ /index.html;
}

Här kontrollerar NGINX först om den begärda URI:n matchar en fil, sedan en katalog, och dirigerar slutligen omatchade förfrågningar till /index.htmlDetta förbättrar effektiviteten och användarupplevelsen genom att servera cachade eller statiska filer direkt, vilket undviker onödiga backend-anrop.


15) Hur kan NGINX hantera HTTPS- och SSL/TLS-terminering?

NGINX fungerar som en SSL/TLS-termineringsproxy som hanterar kryptering och dekryptering på serverlagret innan okrypterade förfrågningar vidarebefordras till uppströmstjänster. Exempelkonfiguration:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/ssl/certs/example.crt;
    ssl_certificate_key /etc/ssl/private/example.key;
    location / {
        proxy_pass http://backend;
    }
}

Den stöder HTTP / 2, OCSP-häftning, HSTSoch moderna chiffersviter, vilket möjliggör säker och högpresterande kommunikation. Att avsluta SSL vid NGINX minskar krypteringskostnaden på backend-servrar och förenklar certifikathanteringen.


16) Vad är skillnaden mellan omskrivning och omdirigering i NGINX?

Både omskrivning och dirigera om modifiera hur förfrågningar dirigeras, men de skiljer sig fundamentalt:

Aspect Skriva om Dirigera om
Typ Intern URL-omskrivning Omdirigering av extern klient
Svarskod 200 (intern) 301/302 (HTTP-omdirigering)
Sikt Transparent för användaren Klienten ser ny URL
Användningsfall SEO-vänliga webbadresser, routing Domänmigrering, HTTPS-tillämpning

Exempelvis:

rewrite ^/oldpage$ /newpage permanent;  # Redirect
rewrite ^/img/(.*)$ /assets/$1 break;   # Rewrite

Att förstå denna skillnad är nyckeln till att optimera SEO och routinglogik effektivt.


17) Hur säkrar man NGINX från vanliga sårbarheter?

Säkerhetshärdning innebär en kombination av bästa praxis:

  • Inaktivera servertokens: server_tokens off;
  • Begränsa begäransmetoder: Tillåt endast GET, POST och HEAD.
  • Begränsa buffertöverflöden: Inställd client_max_body_size och client_body_buffer_size.
  • Använd HTTPS med moderna chiffer.
  • Aktivera hastighetsbegränsning via limit_req_zone.
  • Dölj versionsinformation och inaktivera kataloglista.

Dessutom använder du en Webbr Firewall (WAF) tycka om ModSecurity with NGINX kan filtrera skadlig trafik. Att regelbundet uppdatera NGINX och installera säkerhetsuppdateringar är viktigt för att förhindra zero-day-attacker.


18) Vad är NGINX-variabler och hur används de i konfigurationer?

NGINX-variabler lagrar dynamisk data som används i konfigurationer och loggbehandling. De kan representera förfrågningsrubriker, klient-IP:er eller beräknade värden. Exempel inkluderar $remote_addr, $host, $uri, $request_methodoch $upstream_addr.

Till exempel:

log_format custom '$remote_addr - $host - $uri';

Variabler ger flexibilitet och möjliggör villkorlig routing och anpassad loggning. Du kan också definiera anpassade variabler med hjälp av set direktiv, vilket hjälper till vid modulär konfigurationsdesign.


19) Hur kan man ställa in hastighetsbegränsning i NGINX?

Hastighetsbegränsning styr hur ofta användare kan skicka förfrågningar, vilket skyddar mot brute force- och DDoS-attacker. Den konfigureras med hjälp av limit_req_zone direktiv:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
server {
    location / {
        limit_req zone=mylimit burst=5;
    }
}

Detta tillåter en förfrågan per sekund med en period på fem. NGINX tar bort överflödiga förfrågningar eller fördröjer dem baserat på konfigurationen. Hastighetsbegränsning säkerställer rättvis resursanvändning och förhindrar överbelastning av servern.


20) Vilka är fördelarna och nackdelarna med att använda NGINX som en omvänd proxy?

NGINX som omvänd proxy erbjuder många fördelar men också vissa nackdelar:

Fördelar Nackdelar
Hög prestanda och samtidighetshantering Kräver manuell finjustering för storskaliga distributioner
SSL-avslutning och centraliserad säkerhet Begränsat stöd för dynamiska moduler (kompileringstid)
Stöd för lastbalansering och cachning Komplex konfiguration för nya användare
Filtrering av applikationslager Brist på exekvering av inbyggt dynamiskt innehåll

Dess fördelar överväger vida begränsningarna i de flesta företagsscenarier, vilket gör NGINX till en oumbärlig komponent i modern webbinfrastruktur.


21) Hur kan man övervaka NGINX prestanda och hälsa i produktion?

Övervakning av NGINX är avgörande för att identifiera flaskhalsar, fel och onormalt trafikbeteende. Flera metoder kan användas:

  1. Inbyggd statusmodul (stub_status):

    Visar aktiva anslutningar, hanterade förfrågningar och läs-/skrivstatus. Exempel:

    location /nginx_status {
        stub_status;
        allow 127.0.0.1;
        deny all;
    }
    
  2. NGINX Plus-instrumentpanel: Tillhandahåller realtidsmätvärden via REST API och GUI.
  3. Tredjepartsintegrationer: Verktyg som Prometheus, Grafana, Datadog eller ELK kan samla in mätvärden och loggar.
  4. Åtkomst- och felloggar: Regelbunden loggrotation och analys med verktyg som GoAccess eller AWStats förbättrar observerbarheten.

Övervakning hjälper till att säkerställa drifttid, snabb upptäckt av fel och kapacitetsplanering.


22) Vad är skillnaden mellan direktiven proxy_pass och fastcgi_pass?

Båda direktiven vidarebefordrar förfrågningar till backend-tjänster men är utformade för olika protokoll:

Direktiv Syfte Backend-protokoll Exempel på användning
proxy_pass Vidarebefordrar HTTP- eller HTTPS-förfrågningar till backend-servrar HTTP Reverse proxy-webb-API:er eller mikrotjänster
fastcgi_pass Skickar förfrågningar till en FastCGI-processor FastCGI PHP-FPM, Python FastCGI-applikationer

Exempelvis:

location /api/ {
    proxy_pass http://backend;
}
location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

Sammanfattningsvis, använd proxy_pass för generiska HTTP-backends och fastcgi_pass för dynamiska språkkörningar som PHP.


23) Hur kan man konfigurera gzip-komprimering i NGINX och vilka är dess fördelar?

Att aktivera Gzip-komprimering i NGINX minskar bandbreddsanvändningen och förbättrar laddningstiden genom att komprimera textbaserade svar innan de skickas till klienter.

Exempelkonfiguration:

gzip on;
gzip_types text/plain text/css application/json application/javascript;
gzip_min_length 1024;
gzip_comp_level 6;
gzip_vary on;

Fördelar:

  • Minskar filöverföringsstorlekar med upp till 70 %.
  • Förbättrar Time-to-First-Byte (TTFB) och sidprestanda.
  • Sparar bandbreddskostnader, särskilt fördelaktigt för mobilanvändare.

Den bör dock inte tillämpas på redan komprimerade filer (t.ex. .zip, .jpg, .png) för att undvika CPU-overhead.


24) Vilka är några bästa metoder för att finjustera NGINX för hög trafik?

Optimering av högtrafik innebär noggrann justering av resurser och konfigurationsparametrar:

Area Direktiv Rekommenderad övning
Arbetare worker_processes auto; Matcha CPU-kärnor
Anslutningar worker_connections 4096; Öka samtidigheten
Håll vid liv keepalive_timeout 65; Optimera klientåteranvändning
Fil DescriptELLER OS ulimit -n Höj gränserna för öppna sockets
caching proxy_cache_path Minska belastningen på backend-sidan
gzip gzip on; Komprimera textsvar

Dessutom använder man asynkron disk-I/O, lastbalanseringoch hälsokontroller uppströms säkerställer stabilitet och hastighet under massiva samtidiga förfrågningar.


25) Hur hanterar NGINX WebSocket-anslutningar?

WebSockets möjliggör dubbelriktad kommunikation mellan klient och server – avgörande för realtidsapplikationer. NGINX stöder detta direkt via korrekt header-vidarebefordran.

Exempelkonfiguration:

location /ws/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

Nyckelord:

  • Ocuco-landskapet Upgrade och Connection rubriker är obligatoriska.
  • Se till att NGINX använder HTTP/1.1 för beständiga TCP-anslutningar.
  • Lastbalansering WebSockets kan kräva sticky sessions med hjälp av ip_hash.

Den här konfigurationen stöder applikationer som chatt, aktiehandel eller spel.


26) Vad är syftet med direktivet ”worker_rlimit_nofile”?

worker_rlimit_nofile definierar det maximala antalet öppna filbeskrivningar som är tillgängliga för arbetsprocesser. Denna gräns påverkar direkt hur många samtidiga anslutningar NGINX kan hantera. Exempel:

worker_rlimit_nofile 100000;

Att höja denna gräns är avgörande för system med hög samtidighet (som API-gateways eller streamingplattformar). Men OS-gränsen (ulimit -n) måste också ökas för att matcha detta värde för konsekvensens skull.


27) Hur kan NGINX användas för att automatiskt omskriva URL:er eller omdirigera till HTTPS?

Att omdirigera HTTP till HTTPS säkerställer säker kommunikation. Exempel:

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

Den här konfigurationen utfärdar en 301 permanent omdirigering från HTTP till HTTPS. För finare kontroll kan omskrivningsregler framtvinga sökvägsspecifik omdirigering:

rewrite ^/oldpath$ /newpath permanent;

Automatisk HTTPS-tillämpning förbättrar SEO-ranking, förhindrar man-in-the-middle-attacker och upprätthåller en konsekvent användarupplevelse.


28) Vilka är några vanliga orsaker till felet "502 Bad Gateway" i NGINX?

En "502 Bad Gateway" indikerar att NGINX, som agerade som en proxy, inte kunde ta emot ett giltigt svar från en uppströmsserver. Vanliga orsaker inkluderar:

  • Backend-serverkrasch eller otillgänglighet.
  • Felaktig proxy_pass URL eller socket-sökväg.
  • Uppströms timeout (proxy_read_timeout för lågt).
  • Brandvägg eller SELinux blockerar uppströmsanslutningar.
  • Felkonfigurerade FastCGI-parametrar (för PHP).

För att felsöka, kontrollera felloggarna (/var/log/nginx/error.log), verifiera tillgänglighet uppströms och testa backend-svar direkt via curl.


29) Hur stöder NGINX mikrotjänster och containerbaserade arkitekturer (t.ex. Docker, Kubernetes)?

NGINX är idealisk för mikrotjänstmiljöer på grund av dess lätta design och omvända proxyfunktionalitet. I Docker eller Kubernetes fungerar den som:

  • Ingångskontrollant: Hanterar extern HTTP/S-trafik till interna tjänster.
  • Servicegateway: Utför routing, lastbalansering och autentisering.
  • Sidovagnsproxy: Förbättrar motståndskraft och observerbarhet i servicenätverk (t.ex. Istio).

NGINX-konfigurationer kan uppdateras dynamiskt via Kubernetes ConfigMaps, vilket möjliggör centraliserad trafikkontroll och SSL-hantering. Dess modulära tillvägagångssätt passar perfekt med containerbaserade och molnbaserade implementeringar.


30) Vilka olika sätt kan man förbättra NGINX-säkerheten för produktionssystem?

Förbättrad NGINX-säkerhet kräver konfiguration i flera lager:

  1. SSL/TLS-härdning: Använd moderna chiffer, inaktivera SSLv3/TLSv1.0.
  2. Begränsa HTTP-metoder: Tillåt endast säkra verb (GET, POST, HEAD).
  3. Säkerhetsrubriker:
    add_header X-Frame-Options "DENY";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    
  4. Dölj versionsinformation: server_tokens off;
  5. Aktivera hastighetsbegränsning och åtkomstkontroller.
  6. Integrera WAF eller Fail2Ban för att förebygga brutal kraft.

Tillsammans skapar dessa åtgärder en härdad NGINX-miljö av produktionskvalitet som är motståndskraftig mot vanliga attacker.


31) Hur kan man felsöka NGINX-problem effektivt?

Felsökning av NGINX innebär att systematiskt analysera loggar, konfigurationsfiler och processtillstånd. De viktigaste stegen inkluderar:

  1. Kontrollera syntax:
  2. nginx -t
  3. Validerar konfigurationen före omladdning.
  4. Aktivera felsökningsloggning:

    error_log /var/log/nginx/error.log debug;
  5. Ger detaljerad körtidsdiagnostik.
  6. Analysera åtkomstloggar: Identifiera svarskoder och förfrågningsmönster med hjälp av:

    tail -f /var/log/nginx/access.log
  7. Testa anslutning: Använda curl -v or wget för att verifiera åtkomst till backend.
  8. Övervaka aktiva anslutningar: Via stub_status or netstat.

Att förstå NGINXs arbetsprocesser, buffertgränser och uppströmssvar hjälper till att snabbt identifiera flaskhalsar i produktionssystem.


32) Hur konfigurerar man NGINX-loggning, och vad är anpassade loggformat?

NGINX tillhandahåller flexibla loggningsmekanismer genom access_log och error_log direktiven.

Exempelkonfiguration:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$request_time"';

access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;

Du kan definiera anpassade format att inkludera mätvärden som $upstream_addr, $request_time, eller $bytes_sent.

För avancerad observerbarhet skickas loggar ofta till ÄLG, Loki eller Splunk för realtidsanalys och dashboarding.


33) Vilken roll spelar proxy_buffering-direktivet i NGINX?

proxy_buffering styr om NGINX buffrar svar från uppströmsservrar innan de skickas till klienter.

Att lägga plattor BESKRIVNING Användningsfall
proxy_buffering on; Buffers hela responsen för optimerad genomströmning Standard; förbättrar prestanda
proxy_buffering off; Strömmar data direkt till klienter utan buffring Realtidsströmning eller API:er

Till exempel, för att inaktivera buffring:

location /stream/ {
    proxy_buffering off;
}

Att inaktivera buffring är idealiskt för chatt- eller streamingtjänster men kan minska dataflödet för vanlig webbtrafik.


34) Förklara hur NGINX-cachning kan ogiltigförklaras eller rensas.

NGINX Open Source inkluderar inte inbyggd cache-rensning, men det kan uppnås på flera sätt:

  1. Manuell rensning: Ta bort filer från cachekatalogen.
    rm -rf /var/cache/nginx/*
  2. Tredjepartsmodul: Använda ngx_cache_purge att rensa via HTTP-förfrågan:
    location ~ /purge(/.*) {
        proxy_cache_purge my_cache $host$1;
    }
    
  3. NGINX Plus-funktion: Tillåter dynamisk API-baserad cache-rensning.

Rensning säkerställer att föråldrat innehåll ersätts snabbt, vilket bibehåller innehållets aktualitet och konsekvens över CDN- eller multinoddistributioner.


35) Hur hanterar NGINX timeouts för anslutningar?

NGINX tillhandahåller flera timeout-direktiv för att styra hur länge den väntar på klient- eller uppströmssvar:

Direktiv Syfte Standardvärde (s)
client_body_timeout Väntetid för klientkroppen 60
client_header_timeout Väntetid för klienthuvud 60
keepalive_timeout Inaktiva keepalive-anslutningar 75
send_timeout Dags att skicka data till klienten 60
proxy_read_timeout Väntetid för svar uppströms 60

Korrekt inställning undviker onödiga frånkopplingar och säkerställer smidigare användarupplevelser under varierande nätverksförhållanden.


36) Hur implementerar man en blågrön driftsättning med NGINX?

I en blågrön utplacering, två miljöer (Blå = aktiv, Grön = standby) körs samtidigt. NGINX fungerar som en trafikrouter mellan dem.

Exempelkonfiguration:

upstream app_cluster {
    server blue.example.com;
    #server green.example.com; # Uncomment during switch
}
server {
    location / {
        proxy_pass http://app_cluster;
    }
}

När den nya versionen (Grön) är testad och verifierad, växlas trafiken genom att uppdatera uppströmsdefinitionen och ladda om NGINX (nginx -s reload).

Denna metod säkerställer noll driftstopp under programuppdateringar eller återställningar.


37) Vad är en hastighetsbegränsande burst, och hur förbättrar den NGINX-prestanda?

Ocuco-landskapet skur Parametern i hastighetsbegränsning tillåter korta trafiktoppar att passera tillfälligt utan omedelbar avvisning.

Exempelvis:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
location /api/ {
    limit_req zone=mylimit burst=5 nodelay;
}

Här accepteras fem extra förfrågningar direkt innan begränsning tillämpas.

Den här tekniken jämnar ut trafiktopparna och upprätthåller en konsekvent användarupplevelse utan att överbelasta backend-systemen.


38) Hur hanterar NGINX IPv6 och dual-stack-miljöer?

NGINX har fullt stöd för IPv6 i både server- och uppströmskonfigurationer. Exempel:

server {
    listen [::]:80 ipv6only=on;
    server_name example.com;
}

Stöd för dubbelstack (IPv4 + IPv6) uppnås genom att inkludera båda:

listen 80;
listen [::]:80;

IPv6-kompatibilitet säkerställer bredare tillgänglighet, särskilt för mobila och internationella klienter, och är avgörande för att moderna internetstandarder ska uppfyllas.


39) Hur konfigurerar man sticky sessions i NGINX lastbalansering?

Klibbiga sessioner säkerställer att förfrågningar från samma klient alltid dirigeras till samma backend-server.

  1. Använda ip_hash:
    upstream backend {
        ip_hash;
        server app1.example.com;
        server app2.example.com;
    }
    
  2. NGINX Plus klibbig cookie:
    Avancerad sessionsbeständighet med konfigurerbara cookies.

Klibbiga sessioner är viktiga för tillståndskänsliga applikationer som användardashboards eller kundvagnar, vilket säkerställer konsekvens i sessionsdata utan delad lagring.


40) Vilka är de viktigaste loggnivåerna i NGINX, och hur skiljer de sig åt?

NGINX stöder hierarkiska loggnivåer för att kontrollera utförligheten i felloggen.

Nivå BESKRIVNING
debug Detaljerad information för felsökning (väldigt utförlig)
info Allmän information om körtid
notice Betydande men icke-kritiska händelser
warn Potentiella problem eller felkonfigurationer
error Operationella fel som kräver uppmärksamhet
crit, alert, emerg Kritiska fel och systemvarningar

Exempelkonfiguration:

error_log /var/log/nginx/error.log warn;

Att justera loggnivåer efter miljö (felsökning i staging, varning i produktion) hjälper till att upprätthålla en balans mellan synlighet och prestanda.


41) Hur mäter man NGINX-prestanda?

Benchmarking av NGINX innebär att mäta dataflöde, latens och samtidighet för att identifiera flaskhalsar i konfigurationen. Vanliga verktyg inkluderar:

ApacheBench (ab):

ab -n 10000 -c 100 http://example.com/
  • Testförfrågningsvolym och samtidighet.
  • arbete: Ger detaljerade latensprocentiler och begärandefrekvenser.
  • belägring / httperf: Simulerar verklig trafikbelastning.
  • Grafana + Prometheus: Övervakar prestandamätningar i realtid.

Benchmarking bör mäta parametrar som requests per second (RPS), time per requestoch error rate.

Justera variabler som worker_processes, worker_connectionsoch keepalive_timeout förbättrar den observerade genomströmningen avsevärt.


42) Hur kan NGINX integreras med CI/CD-pipelines?

NGINX integreras sömlöst med CI / CD för automatiserad driftsättning, testning och konfigurationshantering. Vanliga metoder inkluderar:

  • Infrastruktur som kod (IaC): Hantera konfigurationer med Ansible-, Terraform- eller Helm-diagram.
  • Dockercontainrar: Bygg och distribuera NGINX-avbildningar med hjälp av CI-verktyg (Jenkins, GitLab CI eller GitHub Actions).
  • Automatisk testning: Validera konfigurationer med hjälp av nginx -t i pipeline-stadier.
  • Blågrön / Canary Implementeringsautomatisering: Uppdatera uppströmsservrar dynamiskt under utrullningen.

Exempel på GitLab CI-kodavsnitt:

deploy:
  script:
    - nginx -t
    - systemctl reload nginx

Automatiserad distribution säkerställer konsekventa, versionskontrollerade och tillförlitliga NGINX-utrullningar.


43) Förklara rollen för NGINX Ingress Controller i Kubernetes.

Ocuco-landskapet NGINX Ingress Controller hanterar inkommande trafik till Kubernetes-tjänster. Den översätter dynamiskt Kubernetes Ingress-resurser till NGINX-konfigurationer.

Viktiga funktioner:

  • Dirigerar HTTP/S-förfrågningar till rätt tjänst.
  • Erbjuder SSL-terminering, hastighetsbegränsning och URL-omskrivning.
  • Stöder lastutjämning mellan poddar.
  • Aktiverar annoteringar för finkornig kontroll (t.ex. omskrivningsmål, proxykroppsstorlek).

Exempel på Ingress YAML:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web-ingress
  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: myapp.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web-service
                port:
                  number: 80

Denna arkitektur frikopplar trafikroutinglogik från containerdistributioner för flexibel skalbarhet.


44) Hur hanterar NGINX HTTP/2 och vilka är dess fördelar?

NGINX stöder fullt ut HTTP / 2, efterföljaren till HTTP/1.1, som förbättrar effektiviteten genom multiplexering och headerkomprimering.

För att aktivera HTTP/2:

server {
    listen 443 ssl http2;
    ...
}

fördelar:

Leverans BESKRIVNING
multiplexering Flera förfrågningar per TCP-anslutning
Headerkomprimering (HPACK) Minskar bandbreddsanvändningen
server Push Skickar tillgångar till klienter i förväg
Snabbare TLS Strömlinjeformade säkra handskakningar

HTTP/2 minskar drastiskt latens och sidinläsningstider, särskilt för moderna webbapplikationer med många resurser.


45) Vad är skillnaden mellan upstream keepalive och återanvändning av anslutningar i NGINX?

Uppströms keepalive upprätthåller permanenta anslutningar till backend-servrar, vilket minskar TCP-handskakningskostnader. Exempel:

upstream backend {
    server app1.example.com;
    keepalive 32;
}

Skillnad:

Aspect Håll vid liv Återanvändning av anslutning
Omfattning Mellan NGINX och uppströms Mellan NGINX och klienter
Syfte Backend-optimering Frontend-prestanda
konfiguration keepalive inuti upstream keepalive_timeout in server blockera

Båda teknikerna minskar latensen men betjänar olika kommunikationslager (klientsidan kontra serversidan).


46) Hur kan man dynamiskt omkonfigurera NGINX utan att starta om det?

Att tillämpa nya konfigurationer dynamiskt utan stillestånd, Använd reload mekanism:

nginx -t && nginx -s reload

Detta signalerar huvudprocessen att skapa nya arbetare med uppdaterade konfigurationer samtidigt som gamla stängs ner på ett smidigt sätt.

I NGINX Plus kan ändringar göras via API (t.ex. dynamiskt lägga till uppströmsservrar):

curl --request POST \
  --url http://localhost:8080/api/3/http/upstreams/backend/servers \
  --header 'Content-Type: application/json' \
  --data-raw '{"server":"10.0.0.12"}'

Den här funktionen stöder distributioner utan driftstopp i moderna DevOps-pipelines.


47) Vilka är de viktigaste skillnaderna mellan omvänd proxy och forward proxy i NGINX?

Aspect Reverse Proxy Vidarebefordra proxy
Klientsynlighet Klienter som inte känner till backend-servrar Servrar omedvetna om klientidentitet
Primär användning Lastbalansering, cachning, SSL-avslutning Filtrering, anonymitet, åtkomstkontroll
Vanligt användningsfall Distribution av webbtrafik Företags- eller säker utgående surfning
NGINX-stöd Inbyggd och flitigt använd Kräver anpassad konfiguration

Exempel (vidarebefordrande proxy):

location / {
    proxy_pass $scheme://$http_host$request_uri;
    proxy_set_header Host $http_host;
}

RevErse-proxyanvändning är fortfarande det dominerande användningsfallet, särskilt för API-gateways och mikrotjänstarkitekturer.


48) Hur kan NGINX användas för API-hastighetsbegränsning och strypning?

Hastighetsbegränsning skyddar API:er från missbruk och säkerställer rättvis användning. Exempelkonfiguration:

limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
server {
    location /api/ {
        limit_req zone=api_limit burst=20 nodelay;
        proxy_pass http://backend;
    }
}

Mekanism:

  • limit_req_zone: Definierar den delade minneszonen och hastigheten.
  • burstTillåter begränsade tillfälliga toppar.
  • nodelay: Upprätthåller omedelbart gränser.

Den här konfigurationen säkerställer att varje klient-IP-adress endast kan göra 10 förfrågningar per sekund, samtidigt som korta skurar tillåts.


49) Vilka är de typiska användningsfallen för NGINX i DevOps-miljöer för företag?

I företags-DevOps-ekosystem har NGINX flera viktiga roller:

  1. Webbserver: Högpresterande leverans av statiskt innehåll.
  2. Reverse Proxy / Lastbalanserare: Trafikhantering över mikrotjänster.
  3. API-gateway: Autentisering, routing och begränsning.
  4. Ingångskontrollant: För Kubernetes-kluster.
  5. Innehållscachningslager: Minskar belastningen på backend.
  6. SSL-avslutningsslutpunkt: Centraliserad certifikathantering.
  7. Övervakningsslutpunkt: Integrering av mätvärden och observerbarhet.

Dess lätta storlek och modulära design gör NGINX oumbärlig i CI/CD-pipelines, hybridmoln och kluster med hög tillgänglighet.


50) Vilka är de största skillnaderna mellan NGINX och HAProxy för lastbalansering?

Båda är högpresterande lastbalanserare, men de skiljer sig åt i fokus och arkitektur:

Leverans nginx haproxy
Primär roll Webbserver + omvänd proxy Dedikerad TCP/HTTP-lastbalanserare
Enkel konfiguration Enklare för webbaserade arbetsbelastningar Komplex men mer detaljerad kontroll
Lagerstöd L7 (HTTP), partiell L4 L4 och L7 fulla
Dynamisk omkonfiguration Begränsad (öppen källkod) Inbyggda runtime-uppdateringar
Prestanda Utmärkt för blandade arbetsbelastningar Överlägsen för balansering av rå last
Ytterligare funktioner Cachning, komprimering, statiskt innehåll Hälsokontroller, stickbord

Företag slår sig ofta samman NGINX (gränssnitt) och HAProxy (backend) för optimal routing och skalbarhet.


🔍 De bästa NGINX-intervjufrågorna med verkliga scenarier och strategiska svar

1) Vad är NGINX, och varför används det ofta i produktionsmiljöer?

Förväntat från kandidaten: Intervjuaren vill bedöma dina grundläggande kunskaper om NGINX och din förståelse för dess praktiska värde i verkliga system.

Exempel på svar: "NGINX är en högpresterande webbserver och omvänd proxy känd för sin händelsedrivna arkitektur. Den används ofta i produktionsmiljöer eftersom den kan hantera ett stort antal samtidiga anslutningar effektivt samtidigt som den förbrukar färre systemresurser än traditionella webbservrar."


2) Kan du förklara skillnaden mellan NGINX och Apache?

Förväntat från kandidaten: Intervjuaren utvärderar din förmåga att jämföra teknologier och välja rätt verktyg baserat på användningsfall.

Exempel på svar: "NGINX använder en asynkron, icke-blockerande arkitektur, vilket gör den mer effektiv för att hantera hög trafik och statiskt innehåll. Apache använder en processdriven modell som kan vara mer flexibel för dynamiska konfigurationer men kan förbruka mer resurser under tung belastning."


3) Hur fungerar NGINX som en omvänd proxy?

Förväntat från kandidaten: Intervjuaren vill bekräfta din förståelse av omvända proxy-koncept och hur NGINX passar in i moderna arkitekturer.

Exempel på svar: "NGINX fungerar som en omvänd proxy genom att ta emot klientförfrågningar och vidarebefordra dem till backend-servrar. Den returnerar sedan serversvaren till klienten, vilket förbättrar säkerhet, belastningsfördelning och övergripande prestanda."


4) Beskriv en situation där du använde NGINX för lastbalansering.

Förväntat från kandidaten: Intervjuaren söker praktisk erfarenhet och din förmåga att tillämpa NGINX-funktioner i verkliga scenarier.

Exempel på svar: ”I min tidigare roll konfigurerade jag NGINX för att distribuera trafik över flera applikationsservrar med hjälp av round-robin- och least-connections-algoritmer. Denna metod förbättrade applikationstillgängligheten och förhindrade att en enskild server blev en flaskhals.”


5) Hur hanterar du SSL- och HTTPS-konfiguration i NGINX?

Förväntat från kandidaten: Intervjuaren vill bedöma din förståelse för bästa praxis inom säkerhet och konfigurationshantering.

Exempel på svar: ”I en tidigare position konfigurerade jag SSL genom att installera certifikat, aktivera HTTPS-lyssnare och tillämpa starka krypteringssviter. Jag implementerade även omdirigering från HTTP till HTTPS för att säkerställa säker kommunikation mellan alla slutpunkter.”


6) Vilka steg skulle du vidta för att felsöka ett 502 Bad Gateway-fel i NGINX?

Förväntat från kandidaten: Intervjuaren testar dina problemlösningsfärdigheter och felsökningsmetodik.

Exempel på svar: ”Jag skulle börja med att kontrollera NGINX-felloggarna för att identifiera problem med backend-anslutningen. Jag skulle sedan verifiera att uppströmsservrarna körs, bekräfta korrekta proxyinställningar och se till att timeout-tiderna är korrekt konfigurerade.”


7) Hur optimerar man NGINX-prestanda för applikationer med hög trafik?

Förväntat från kandidaten: Intervjuaren vill veta hur du ser på prestandajustering och skalbarhet.

Exempel på svar: ”På mitt tidigare jobb optimerade jag NGINX genom att aktivera gzip-komprimering, finjustera arbetsprocesser och konfigurera cachning för statiskt innehåll. Dessa förändringar minskade svarstiderna och serverbelastningen avsevärt.”


8) Kan du förklara hur NGINX hanterar statiskt kontra dynamiskt innehåll?

Förväntat från kandidaten: Intervjuaren bedömer din förståelse för förfrågningshantering och prestandaoptimering.

Exempel på svar: "NGINX hanterar statiskt innehåll direkt och mycket effektivt från filsystemet. För dynamiskt innehåll vidarebefordrar det förfrågningar till applikationsservrar eller tjänster som PHP-FPM, vilket gör att varje komponent kan fokusera på det den gör bäst."


9) Hur hanterar och testar man NGINX-konfigurationsändringar på ett säkert sätt?

Förväntat från kandidaten: Intervjuaren vill förstå din strategi för tillförlitlighet och riskreducering.

Exempel på svar: "Jag validerar konfigurationsändringar med hjälp av NGINX-konfigurationstestkommandot innan jag laddar om tjänsten. Jag tillämpar även ändringar under underhållsfönster och övervakar loggar noggrant efter driftsättning."


10) Beskriv en tidpunkt då du snabbt var tvungen att åtgärda ett NGINX-relaterat avbrott.

Förväntat från kandidaten: Intervjuaren utvärderar din förmåga att prestera under press och kommunicera effektivt under incidenter.

Exempel på svar: ”I min senaste roll inträffade ett avbrott på grund av en felkonfigurerad uppströmstjänst. Jag identifierade snabbt problemet genom loggar, återställde konfigurationen och kommunicerade statusuppdateringar till intressenter tills full service var återställd.”

Sammanfatta detta inlägg med: