nginx rewrite proxy_pass location实践及正则匹配

IT黑名单 2016-11-22 22:14:45

本文以itblacklist.cn站点为例,讲述nginx的常见配置。

前置信息:
顶层容器nginx,下面跑一个php应用监听9000端口(tucao.itblacklist.cn),一个java应用监听8000端口(www.itblacklist.cn)。

需求信息如下:

直接上配置

server {
	server_name www.itblacklist.cn;
	listen 80;
	root /opt/apps/blacklist/page;		#nginx server根目录
	
	# =精准匹配 /首页 该规则只匹配首页
	location =/ {}
	# ~* 不区分大小写的正则匹配  匹配所有以.html .gif等结尾的请求
	location ~* \.(html|gif|jpg|ico|js|css|map|svg|eot|tff|woff|woff2)$ {}
	
	# ^~ 匹配以某个开头的请求  该处匹配以/s/开头的请求
	location ^~ /s/ {
		rewrite /s/(.+)$ /$1 break;	
		proxy_pass http://www.itblacklist.cn/list.html;
		#... proxy头信息等
	}
	location ~* /details/([0-9]+)$ {
		rewrite /details/(.+)$ /details.html?u=$1 break;
	}
	location / {
		proxy_pass http://www.itblacklist.cn:8000;
		#...
	}
}
server {
	server_name itblacklist.cn;
	rewrite ^(.*)$ http://wwww.itblacklist.cn$1 permanent;
}
server {
	server_name tucao.itblacklist.cn;
	
	location / {
		proxy_pass http://www.itblacklist.cn:9000;
		#...
	}
}

重新加载nginx配置

nginx -s reload

至此,结束。


转载请注明来源【IT黑名单

本文链接:http://blog.itblacklist.cn/20161122/8424.html

© Copyright 2016 IT黑名单 Inc.All Rights Reserved. 豫ICP备15018592号-2