Nginx常用配置

本文详细介绍了Nginx配置中的关键设置,包括监听不同端口、定义访问日志路径、处理不同域名、托管静态资产、实现重定向、设置反向代理、负载均衡以及启用SSL协议。此外,还涉及了如何解决跨域问题,确保网站的安全性和高性能。
摘要由CSDN通过智能技术生成

侦听端口

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 using IPv6 
	listen [::]:80 ipv6only=on;
}

访问日志

server { 
	# Relative or full path to log file 
	access_log /path/to/file.log;  
	# Turn 'on' or 'off'  
	access_log on;
}

域名

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 "";
}

静态资产

server {  
	listen 80;  
	server_name yourdomain.com;  
	location / {      
		root /path/to/website; 
	}
}

重定向

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; 
	}
}

反向代理

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  
	}
}

负载均衡

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_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;
}

原文:https://vishnu.hashnode.dev/nginx-cheatsheet?guid=none&deviceId=ca2b0a4c-a1fb-43bc-ab8c-1eaafe592469

解决跨域

location /data/50000 {  
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST;
    root /data/50000;
    rewrite ^/data/50000/(.*) /$1 break;
} 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值