news 2026/4/3 3:09:09

Nginx通过配置请求参数限制接口地址访问方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx通过配置请求参数限制接口地址访问方案

1. 访问需求

请求地址如下:
https://转发域名或ip:63333/api/subscribe/proxy/lecshi?accesskey=lmzfproxyforward_leshi&env=cloud-proxy-dev
https://转发域名或ip:63333/api/subscribe/proxy/lecshi?accesskey=lmzfproxyforward_leshi&env=cloud-proxy-test


nginx代理层要检查请求参数accesskey是以开头lmzfproxyforward_,且要有env标识,proxy_pass才转发给backend。
如果env是cloud-proxy-dev就是https://cloud-proxy-dev.lmzf.com//interface/imou
如果env是cloud-proxy-test就是https://cloud-proxy-test.lmzf.com/interface/imou

2. Nginx配置

# 在http块或server块中添加 resolver 8.8.8.8 114.114.114.114 223.5.5.5 valid=30s; resolver_timeout 5s; map $arg_env $backend_url { cloud-proxy-dev "https://cloud-proxy-dev.lmzf.com/interface/imou/"; cloud-proxy-test "https://cloud-proxy-test.lmzf.com/interface/imou/"; default ""; } map $arg_env $backend_host { cloud-proxy-dev "cloud-proxy-dev.lmzf.com"; cloud-proxy-test "cloud-proxy-test.lmzf.com"; default ""; } map $arg_accesskey $accesskey_valid { "~^lmzfproxyforward_" 1; default 0; } server { listen 63333; # 如果需要HTTPS支持 # listen 63333 ssl; # ssl_certificate /etc/nginx/ssl/lmzf.com.pem; # ssl_certificate_key /etc/nginx/ssl/lmzf.com.key; # DNS解析器(重要!) resolver 8.8.8.8 114.114.114.114 valid=30s; resolver_timeout 5s; location /api/subscribe/proxy/leshi { if ($args ~* "(.*)&(.*)") { set $args $1&$2; rewrite ^ /api/subscribe/proxy/leshi?$args break; } # 参数检查... if ($arg_accesskey = "") { return 403 "Missing accesskey"; } if ($accesskey_valid = 0) { return 403 "Invalid accesskey format"; } if ($arg_env = "") { return 403 "Missing env parameter"; } if ($backend_url = "") { return 403 "Invalid env value"; } # 设置正确的代理头 proxy_set_header Host $backend_host; # 使用后端主机名 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 对于HTTPS后端,可能需要这些设置 proxy_ssl_server_name on; proxy_ssl_name $backend_host; # 如果后端是自签名证书,可以关闭验证(测试环境) proxy_ssl_verify off; # 代理到后端 proxy_pass $backend_url; # 添加一些调试头 add_header X-Backend-URL $backend_url; add_header X-Backend-Host $backend_host; } location / { return 403; } access_log /var/log/proxy_access.log; error_log /var/log/proxy_error.log; }

3. 测试验证

3.1 直接访问转发域名

[root@monitor conf.d]# curl https://cloud-proxy-dev.lmzf.com/interface/imou/ {"code":1099000001,"msg":"internal server error!","data":null}

3.2 访问代理地址

[root@monitor conf.d]# curl "http://服务器IP:63333/api/subscribe/proxy/leshi?accesskey=lmzfproxyforward_leshi&env=cloud-proxy-dev" {"code":1099000001,"msg":"internal server error!","data":null}

访问结果一致,配置成功。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 19:58:14

TrafficMonitor插件系统:5步打造你的专属系统信息中心

你是否厌倦了单调的网速显示?是否希望任务栏能告诉你更多——CPU温度、天气状况、股票行情?TrafficMonitor的插件系统正是为你量身打造的扩展利器。本文将用全新的视角,带你从零开始构建个性化的系统监控平台。 【免费下载链接】TrafficMonit…

作者头像 李华
网站建设 2026/3/29 23:05:03

QQ音乐解析完整指南:免费获取高品质音乐资源

QQ音乐解析完整指南:免费获取高品质音乐资源 【免费下载链接】MCQTSS_QQMusic QQ音乐解析 项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic 想要轻松获取QQ音乐的高品质音频和MV资源吗?MCQTSS_QQMusic项目为你提供了一个强大的音乐解…

作者头像 李华
网站建设 2026/3/29 8:27:04

【Open-AutoGLM电脑性能实测】:10项 benchmark 对比揭示其真实算力水平

第一章:Open-AutoGLM电脑性能实测背景与意义随着生成式人工智能技术的快速发展,本地化大模型推理逐渐成为科研与企业部署的重要方向。Open-AutoGLM作为一款开源的自动化语言模型推理框架,支持在消费级硬件上实现高效的文本生成与任务调度。在…

作者头像 李华
网站建设 2026/3/27 23:07:28

AI视频画质修复终极指南:从模糊到4K的魔法变身

AI视频画质修复终极指南:从模糊到4K的魔法变身 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 你是否曾因视频画质模糊而苦恼?老旧设备录制的视频、压缩传输后的画面、监…

作者头像 李华
网站建设 2026/3/13 5:03:31

ncmdump终极指南:解锁网易云音乐NCM加密文件的完整解决方案

ncmdump终极指南:解锁网易云音乐NCM加密文件的完整解决方案 【免费下载链接】ncmdump 转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files. 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdump 还在为网易云音乐…

作者头像 李华
网站建设 2026/3/27 18:37:55

锐捷RGSE | QoS技术介绍(1/2)

一、QoS发展背景 1. QoS发展背景 在当前的IP网络中,网络设备总是尽力而为的传送报文,当设备转发能力无法满足报文负载之后,将会选择丢弃这些数据报文,从而影响用户业务。而随着网络的发展,数据、语音、视频等业务越来越普及,对网络的要求也各不相同,传统IP网络很难满足…

作者头像 李华