如何解决Nginx位置无法正常工作
我有位置:
location /api {
proxy_pass http://api:$api_port;
}
理论:
-
/api
必须匹配 -
/api/
必须匹配 -
/api/lol
必须匹配 -
/apiqqqq
不能匹配
实践:
-
/api
匹配 -
/api/
匹配 -
/api/lol
匹配 -
/apiqqqq
匹配(但不能匹配)
我在做什么错?如何使/apiqqqq
不匹配?
解决方法
location
工作正常。为了使您的逻辑正常工作,您将需要使用正则表达式或两个位置块。
例如:
location ~ ^/api(/|$) { ... }
或者:
location = /api { ... }
location /api/ { ... }
请注意,正则表达式location
块的求值顺序很重要。有关详细信息,请参见this document。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。