作者:123456ws1043 | 来源:互联网 | 2022-12-28 18:52
我有一台服务器配置为我的服务器的反向代理.我想拒绝所有请求,除了两个位置,一个用于root,另一个用于api root.
所以服务器应该只允许对给定路径的请求
example.com/ (only the root)
example.com/api/ (every url after the api root)
预期的行为是服务器应该拒绝以下所有可能性.
example.com/location
example.com/location/sublocation
example.com/dynamic-location
我目前的nginx配置,
server {
# server configurations
location / {
# reverse proxy configurations
}
}
如何设置此配置?
1> ffeast..:
这里是:
location = / {
# would serve only the root
# ...
}
location /api/ {
# would serve everything after the /api/
# ...
}
您需要一个特殊的"="修饰符才能使根位置按预期工作
来自文档:
使用"="修饰符可以定义URI和位置的精确匹配.如果找到完全匹配,则搜索终止.例如,如果频繁发生"/"请求,则定义"location = /"将加速这些请求的处理,因为搜索在第一次比较之后立即终止.