Covers NGINX management and permissions, configuring NGINX as a load balancer, cache, and web server, managing connections, access, and logging, and troubleshooting NGINX binaries and TLS settings.
12 free sample questions150 in the full practice test
NGINX Management · Given a scenario identify when to use NGINX
A systems architect is designing a highly available web architecture. They need a component that can terminate TLS connections, serve static assets directly from disk to reduce backend load, and distribute dynamic API requests across a pool of application servers based on their current connection count. Which NGINX role best encompasses all these requirements?
Answer and explanation
Correct answer: B
NGINX operating as a Reverse Proxy and Load Balancer perfectly fits this scenario. It can terminate TLS, serve static files using the 'root' directive before forwarding requests, and use upstream blocks with 'least_conn' to distribute dynamic traffic. While it acts as a web server for the static files, the overarching role managing the API distribution and TLS termination for backends is a reverse proxy/load balancer. A standalone web server would not distribute traffic, and a CDN Edge is a broader infrastructure concept rather than the specific NGINX role described.
Q2Question 2
Advanced
NGINX Management · Given a scenario identify when to use NGINX
A large enterprise is redesigning its ingress architecture for a Kubernetes-based microservices environment. The current setup experiences high latency due to TLS handshakes being renegotiated at multiple hops, and static media files are unnecessarily traversing the internal network to reach backend pods.
The new requirements dictate:
TLS must be terminated at the edge.
Static media (/images/, /video/) must be served from memory or disk at the edge.
API requests must be routed to the correct internal microservice based on the URI path.
Microservice responses must be cached for 5 minutes unless the client sends a 'Cache-Control: no-cache' header.
Based on these requirements, how should NGINX be positioned and configured in this architecture?
This approach correctly addresses all requirements. NGINX operates at Layer 7 to inspect URIs (routing /api/v1 vs /api/v2), terminates TLS using 'ssl_certificate', serves static files directly via the 'root' directive in a specific location, and utilizes 'proxy_cache_bypass $http_cache_control' to respect client cache-busting requests. Layer 4 load balancing (stream module) cannot inspect URIs or serve static files. Terminating TLS at the pods violates the edge-termination requirement.
Q3Question 3
Intermediate
NGINX Management · Explain the NGINX configuration directory structure
When structuring a complex NGINX configuration using the include directive, a system administrator wants to include all .conf files located in the /etc/nginx/conf.d/ directory. However, they must ensure this include statement is placed in the correct context to load virtual host definitions. Which context is the MOST appropriate for including virtual host (server block) configuration files?
Answer and explanation
Correct answer: C
Virtual host definitions (server blocks) that handle HTTP/HTTPS traffic must reside within the 'http' context. Therefore, the 'include /etc/nginx/conf.d/*.conf;' directive intended to load these server blocks must be placed inside the 'http' block in the main nginx.conf file. Placing it in the main context would result in syntax errors because 'server' blocks are not valid in the global context.
Q4Question 4
Beginner
NGINX Management · Explain the NGINX configuration directory structure
True or False: The sites-available and sites-enabled directory structure is a strict requirement enforced by the core NGINX binary for proper configuration parsing.
Answer and explanation
Correct answer: B
False. The 'sites-available' and 'sites-enabled' structure is a convention popularized by Debian/Ubuntu package maintainers to easily toggle virtual hosts via symlinks. It is not a requirement of the core NGINX binary. NGINX natively uses the 'include' directive, and standard upstream packages typically use 'conf.d/*.conf' instead.
Q5Question 5
Intermediate
NGINX Management · Demonstrate how to manage user permissions
During a security audit, it is discovered that NGINX worker processes are running as the 'root' user, which violates the principle of least privilege. To resolve this, the administrator needs to configure NGINX to spawn worker processes as the 'nginx' user. In which configuration context MUST the user directive be placed?
Answer and explanation
Correct answer: B
The 'user' directive defines the privileges used by worker processes and MUST be placed in the 'main' (or global) context of the nginx.conf file, outside of any other blocks like 'http' or 'events'. Placing it elsewhere will result in a configuration syntax error.
Q6Question 6
IntermediateMultiple answers
NGINX Management · Demonstrate how to manage user permissions
An administrator recently changed the NGINX user directive from 'root' to 'www-data'. After reloading the service, they notice several issues with the web application. Which TWO of the following symptoms are most likely caused by worker processes running as an unprivileged user without proper file system permissions? (Select TWO)
Answer and explanation
Correct answers: B, E
If the worker process runs as 'www-data', it must have read permissions on the static files and execute permissions on the directory path. If files are owned by root and lack world-read permissions, NGINX will return a 403 Forbidden error.
Worker processes need write access to log files (if opened by the worker) or temporary directories (like proxy_temp_path). If /var/log/nginx/ or specific temporary paths are strictly owned by root, the worker process cannot write to them, causing failures or missing logs.
Register free for 6 more questions
Or unlock all 150 F5CANR questions with explanations, timed mode and flashcards.