nginx 限流失败的奇怪问题

2 天前
 dunhanson

问题描述

~/info 限流失败

~info 和~/info 都能匹配到值,$limit_key_pc_page_info 的值输出 page_info

为什么加/符号会影响限流?$limit_key_pc_page_info 里面有值

1 、nginx 配置

# 变量-URI
map $uri $limit_key_pc_page_info {
	~/info "page_info";
	#~info "page_info";
	default "";
}
limit_req_zone $limit_key_pc_page_info zone=limit_zone_pc_page_info:10m rate=1r/s;

server {
	listen 80;
	server_name www.dunhanson.com;
	charset utf-8;

	location / {
		# 限流
		limit_req zone=limit_zone_pc_page_info nodelay;
		proxy_pass http://www_dunhanson_com;
	}
}

server {
	listen 80;
	server_name test.dunhanson.com;
	charset utf-8;

	location / {
		default_type text/plain;
		return 200 "$uri $limit_key_pc_page_info";
	}
}

2 、测试效果

curl http://test.dunhanson.com/info-558860051.html

输出: /info-558860051.html page_info

614 次点击
所在节点    NGINX
3 条回复
dunhanson
2 天前
有没有人遇到过?
wswch4444
2 天前
正在研究 nginx 源码,等我研究出来,来回复😄
dunhanson
2 天前
@wswch4444 源码,厉害了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1092345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX