网站首页 > 技术教程 正文
概述: 在一些情况中,我们会有这样的需求,比如有的接口只暴露给指定的域名能请求,但接口配置文件在统一的子配置文件中,全局通过include的方式,载入到每个server中,这时我们除了将响应的配置单独存放出来,另外还可以使用nginx的set指令就能很好的控制这种需求。下面来看看具体的方法。
例如我们有一个统一的配置文件def.conf,默认会载入每个server配置种,其中部分内容如下:
......
location /api/sso {
proxy_pass http://sso_api/;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
}
location /api/pay {
proxy_pass http://pay_api/;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 5m;
}
location /api/limit {
set $allow '';
if ( $server_name ~* "www.a.com" ) {
set $allow 1;
}
if ( $http_user_agent ~* "(limittest|hellotest)" ){set $allow 1;}
if ( "$allow" != 1 ) {
return 401;
}
proxy_pass http://limit_api/;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1m;
}
.........
说明:在上述def.conf配置中,因为整个配置文件默认都会被载入,但需求是 /api/limit服务限制在指定域名下可以被请求,以及用户UA为指定的可以被请求。
当然,如果我只是争对个别域名可以正常请求,或者其它的条件,我们也可直接使用如下方式即可:
if ( $server_name !~* "www.a.com" ) {
return 401;
}
猜你喜欢
- 2024-10-11 域名备案流程总结(域名备案流程总结)
- 2024-09-19 一台服务器80端口绑定多个域名(多台服务器共用一个域名)
- 2024-09-19 nginx https 配置(nginx跨域配置)
- 2024-09-19 nginx 配置https(nginx配置https证书)
- 2024-09-19 使用nginx配置动态域名解析(nginx 动态域名解析)
- 2024-09-19 蓝易云 - Nginx【https配置教程】
- 2024-09-19 教你怎么申请单域名SSL证书(怎样申请一个域名)
- 2024-09-19 云原生尝试——docker容器域名绑定
- 2024-09-19 Nginx重定向中把二级域名增加后缀
- 2024-09-19 第9课 Kubernetes之服务发现,CoreDNS配置和域名解析过程
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)