0% found this document useful (0 votes)
30 views

Nginx Cheatsheet - DeV Community

Uploaded by

mahdi.fathi1394
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Nginx Cheatsheet - DeV Community

Uploaded by

mahdi.fathi1394
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Vishnu Chilamakuru

Posted on 18 Apr 2021 • Originally published at vishnu.hashnode.dev

60 15

Nginx Cheatsheet
#tutorial #nginx #devops #beginners

Nginx is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. In this post, I
will mention few Nginx configurations which we use frequently.

Index
Listen To Port
Access Logging
Domain Name
Static Assets
Redirect
Reverse Proxy
Load Balancing
SSL

Listen To Port
server {
# Standard HTTP Protocol
listen 80;

# Standard HTTPS Protocol


listen 443 ssl;

# Listen on 80 using IPv6


listen [::]:80;

# Listen only on using IPv6


listen [::]:80 ipv6only=on;
}
Access Logging
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 (Listens to 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 (Ex: node.js) bound on 0.0.0.0 listening on port 3000
}

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
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_connection_timeout 1d;
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;
}

Thank you for reading


If you like what you read and want to see more, please support me with coffee or a book ;)

Top comments (3)

olsard • 9 Jan

You might also like