Common Nginx Configuration Snippets Cheat Sheet
This article provides a concise collection of frequently used Nginx configuration snippets—including listening ports, access logs, server names, static assets, redirects, reverse proxy, load balancing, and SSL settings—along with a brief introduction to an online visual configuration tool.
Nginx is a high‑performance HTTP and reverse‑proxy web server that also offers IMAP/POP3/SMTP services, widely appreciated for its rich feature set, stability, example configurations, and low resource consumption.
Below is a curated list of common Nginx configuration snippets.
Listening Ports
server {
# Standard HTTP Protocol
listen 80;
# Standard HTTPS Protocol
listen 443 ssl;
# For http2
listen 443 ssl http2;
# Listen on 80 using IPv6
listen [::]:80;
# Listen only on IPv6
listen [::]:80 ipv6only=on;
}Access Log
server {
# Relative or full path to log file
access_log /path/to/file.log;
# Turn 'on' or 'off'
access_log on;
}Domain Name
server {
# Listen to yourdomain.com
server_name yourdomain.com;
# Listen to multiple domains
server_name yourdomain.com www.yourdomain.com;
# Listen to all domains
server_name *.yourdomain.com;
# Listen to all top‑level domains
server_name yourdomain.*;
# Listen to unspecified hostnames (IP address itself)
server_name "";
}Static Assets
server {
listen 80;
server_name yourdomain.com;
location / {
root /path/to/website;
}
}Redirect
server {
listen 80;
server_name www.yourdomain.com;
return 301 http://yourdomain.com$request_uri;
}
server {
listen 80;
server_name www.yourdomain.com;
location /redirect-url {
return 301 http://otherdomain.com;
}
}Reverse Proxy
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://0.0.0.0:3000; # where 0.0.0.0:3000 is your application server (e.g., node.js)
}
}Load Balancing
upstream node_js {
server 0.0.0.0:3000;
server 0.0.0.0:4000;
server 123.131.121.122;
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://node_js;
}
}SSL Protocol
server {
listen 443 ssl;
server_name yourdomain.com;
ssl on;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/privatekey.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/fullchain.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 1h;
ssl_session_cache shared:SSL:50m;
add_header Strict-Transport-Security max-age=15768000;
}
# Permanent Redirect for HTTP to HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}For a visual way to generate Nginx configurations, you can use the online tool nginxconfig.io , which supports features such as reverse proxy, HTTPS, HTTP/2, IPv6, caching, WordPress, CDN, Node.js, Python (Django), and more.
Open‑source repository: github.com/digitalocean/nginxconfig.io
Official website: digitalocean.com/community/tools/nginx
Thank you for reading, hope this helps :) Source: vishnu.hashnode.dev/nginx-cheatsheet
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Selected Java Interview Questions
A professional Java tech channel sharing common knowledge to help developers fill gaps. Follow us!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
