推广 热搜: 公司  快速  上海  中国    未来  企业  政策  教师  系统 

smiley-http-proxy-servlet 实现springboot 接口反向代理,站点代理,项目鉴权,安全的引入第三方项目服务

   日期:2024-11-04     作者:caijiyuan    caijiyuan   评论:0    移动:http://mip.ksxb.net/news/121.html
核心提示:背景: 项目初期 和硬件集成,实现了些功能服务,由于是局域网环境,安全问题当时都可以最小化无视。随

背景
项目初期 和硬件集成,实现了些功能服务,由于是局域网环境,安全问题当时都可以最小化无视。随着对接的服务越来越多,部分功能上云,此时就需要有一种手段可以控制到其他项目/接口的访问权限。 无疑 反向代理是最轻快的解决办法。

smiley-http-proxy-servlet 实现springboot 接口反向代理,站点代理,项目鉴权,安全的引入第三方项目服务

依赖 smiley-http-proxy-servlet GitHub链接

javax servlet-api 请选择

单文件 直接用代码 ProxyServlet.java

新版本里面还有一个URITemplateProxyServlet.java 用来实现 URL 与查询参数匹配

如 http://mywebapp/cluster/subpath?_subHost=namenode&_port=8080&_path=monitor匹配
http://{_subHost}.behindfirewall.mycompany.com:{_port}/{_path}

URITemplateProxyServlet.java

仅仅是代理接口 默认官网示例使用即可,参考第二个接口代理。

以Nginx 代理Grafana监控平台为例,解决静态资源加载失败、访问鉴权、及websocket连接问题

直接访问grafana代理 springboot项目端口8088报错,静态资源 路径不正确 加载失败,grafana live/ws链接也会失败,参考附录。

nginx配置参考

划重点

springboot 代理的/grafana/* 到 http://127.0.0.1:9999
静态资源的访问失败 404或 错误的返回html首页,是因为路径不符合此规则导致代理是失败

proxy_pass http://127.0.0.1:8088/grafana//;
由nginx代理到 // 则问题解决 ,使 /grafana/* 代理规则生效

其他访问的服务调用 nginx的这个代理

更安全的访问

只需要限制 原服务端口的放行规则,如仅本机可访问,然后项目增加过滤器自行判断权限。

启动类添加@ServletComponentScan扫描WebFilter,增加 Filter

``收工~~

本文地址:http://fabua.ksxb.net/news/121.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多
 
标签: 反向代理
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号