手机版网站公司的,页面设计在哪里,图片加字制作免费,做淘宝有哪些推广网站实际生产项目中#xff0c;大多数时候我们会将后端的 http 接口通过前置 nginx 进行反向代理#xff0c;对互联网用户提供服务。往往我们后端服务所能提供的接口服务是大于互联网用户侧的实际请求的接口地址数量的#xff08;例如后端服务一共有100个api接口#xff0c;经过…实际生产项目中大多数时候我们会将后端的 http 接口通过前置 nginx 进行反向代理对互联网用户提供服务。往往我们后端服务所能提供的接口服务是大于互联网用户侧的实际请求的接口地址数量的例如后端服务一共有100个api接口经过前置 nginx 对外提供的接口是给微信小程序使用的而微信小程序中需要调用的实际接口只有40个。鉴于此从系统安全架构角度来讲我们必须应该在前置的 Nginx 中白名单限定对外提供服务的具体 http 接口 URI 地址。
本文以具体配置示例的方式演示在 Nginx 中如何实现白名单 Uri 的拦截配置。
1、配置白名单 URI 配置文件
我们为了更好的管理白名单地址所以讲配置白名单的配置文件独立出来然后使用 nginx 的 include 导入。
我的配置文件 ./nginx/conf.d/map_whitelist_uri.conf 内容如下
map $uri $allowed_uri {default 0;# 精确匹配推荐尽可能使用精确匹配这样利于管理/api/v1/cs/configs 1;/exact/path1 1;/exact/path2 1;# 正则表达式匹配~^/demo/.\.(css|js|ttf|woff|woff2|svg|git|jpg|jpeg|png)$ 1;~/regex/path/[0-9] 1;~/another/regex.* 1;# 更多的路径...
}主配置文件 ./nginx/nginx.conf 中使用 include 导入扩展的配置文件可以通配符导入也可以精确导入。
http {// 省略其他配置// 导入conf.d中的所有配置你可以导入具体的配置文件include ./conf.d/*.conf;
}2、使用白名单map配置
在 server 块的 location 块中配置条件拦截。
server {// 省略其他配置location / {// 不在白名单URI中的直接响应403结束if ($allowed_uri 0) {return 403;}}// 省略其他配置
}END