当前位置: 首页 > news >正文

广东住房和城乡建设部网站合肥网站到首页排名

广东住房和城乡建设部网站,合肥网站到首页排名,亿万网站,做一个介绍网站多少钱假设我们的分布式项目,admin是8087,gateway是8088,consumer是8086 我们一般的思路是我们的请求必须经过我们的网关8088然后网关转发到我们的分布式项目,那我要是没有处理我们绕过网关直接访问项目8087和8086不也是可以&#xff1…

假设我们的分布式项目,admin是8087,gateway是8088,consumer是8086

我们一般的思路是我们的请求必须经过我们的网关8088然后网关转发到我们的分布式项目,那我要是没有处理我们绕过网关直接访问项目8087和8086不也是可以?

所以我们会有个黑白名单来源控制来对这种特殊情况做处理

不用sentinel的做法

我们在网关那在转发请求的时候+一个请求头,请求头的值固定

然后这个请求头相当于密钥我们不会对外暴露,然后在java代码的拦截器中我们拦截请求判断这个请求头是否和配置一样

优点:简单

缺点:我们要是请求头泄漏,我们发起请求的时候可以伪造请求头这样子我们仍然能跨网关访问

用Sentinel的做法

sentinel+请求头判断来源做法

控制调用方

把我们的调用方分为白名单和黑名单

我们要的名称其实是origin

RequestOriginParser接口

我们的sentinel是通过这个接口里的parseOrigin()这个方法,来获取请求的来源的

这个方法的作用就是,从我们的request对象中解析出我们的origin的值

可惜,默认情况下这个方法返回的结果是default

如果不为空,那我们就把我们的origin作为请求头返回

如果浏览器获得的origin头和网关获取的请求头不一样,那他们的来源名称就不一样

这样子我们就可以来编写我们的规则了

区分请求是否经过网关

然后我们的网关有一个过滤器

请求头的名字是origin,然后值是gateway


 

这样我们从网关过来的就有请求头,然后不是从网关过来的就没有请求头

之前如果我们知道正确的url,我们甚至可以绕过网关进行访问,这样子一点都不安全


实现步骤

连接RequestOriginParser接口

然后我们把它注册成一个bean

为网关添加过滤器

看到没,我们网关配置的请求头的origin的值是gateway

总结

我们的sentinel是用这个方法来获取我们的请求来源的

你看我们的返回值是String,我们就通过这个String来判断我们的请求来源

我们默认请求头有origin这个参数

因为我们配置从网关来的,我们的origin的参数时gateway

添加授权


我们刚刚的那个方法返回的参数,就是我们的来源的名称

然后填写我们的来源名称

我们用8088端口绕过网关,发现不行


sentinel限制IP做法 

  • 在业务服务中配置 Sentinel 的 IP 限制规则,只允许网关的 IP 访问。

  • 这种方式适用于网关和服务部署在同一内网环境的情况。

实现步骤

  1. 获取网关的 IP

    • 假设网关的 IP 是 192.168.1.100

  2. 配置 Sentinel 规则

    • 在业务服务中配置 Sentinel 的白名单规则只允许网关的 IP 访问。                               

      import com.alibaba.csp.sentinel.slots.block.RuleConstant;
      import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule;
      import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRuleManager;
      import org.springframework.context.annotation.Configuration;import javax.annotation.PostConstruct;
      import java.util.Collections;@Configuration
      public class SentinelAuthorityRuleConfig {/*** 配置 Sentinel 的 IP 白名单规则*/@PostConstructpublic void initAuthorityRule() {// 创建 AuthorityRule 规则AuthorityRule rule = new AuthorityRule();rule.setResource("gateway_ip_whitelist"); // 资源名称rule.setStrategy(RuleConstant.AUTHORITY_WHITE); // 白名单模式rule.setLimitApp("192.168.1.100"); // 只允许 Gateway 的 IP 访问// 加载规则AuthorityRuleManager.loadRules(Collections.singletonList(rule));}
      }

3.业务服务层

  • 在业务服务中启用 Sentinel 的流控功能,确保只有网关的请求可以通过

Gateway 的 IP

  • 情况说明:如果 Gateway 没有进行特殊的配置来传递客户端 IP 信息,那么后端服务接收到的请求中的 IP 地址通常是 Gateway 的 IP 地址。
  • 实现方式:这是比较常见的默认情况,例如一些简单的网络代理服务器在转发请求时,如果没有专门设置修改请求头中的 IP 相关信息,后端服务器就只能看到代理服务器(即 Gateway)的 IP 地址,因为在网络数据包传输过程中,源 IP 地址会被替换为 Gateway 的出口 IP 地址。

 如果我们要保留之前的客户端请求的IP,我们要在Gateway做额外处理

http://www.yayakq.cn/news/270706/

相关文章:

  • 网页游戏网站排名投放广告的网站
  • 网站总体建设方面的优势与不足免费推广手段
  • 朝阳网站建设多少钱做网站刷流量挣钱吗
  • .电子商务网站的开发原则包括上海工作
  • 园林景观网站模板网站建设具体流程图
  • 郴州建设信息网站网页浏览器证书失效怎么修复
  • 滨州市城乡建设部网站首页网页制作基础知识答案
  • 做文案看什么网站凡科建站快车代理登录
  • 广州做网站那家好二元期货交易网站开发
  • 手机网站专题页深圳 骏域网站建设
  • 广州免费制作网站软件做外贸的女生干净吗
  • 网站建设框架注意事项景观规划设计公司
  • 石家庄网站建设套网盘做电子书下载网站
  • 站长工具seo域名解析不了做seo营销网站
  • 建设厅网站上企业登录购物网站建设开发费用分析
  • 网站建设培训心得网站建设php心得体会
  • 做黄金理财的网站wordpress 空白框架
  • 对亚马逊网站做简要分析与评价怎么制作游戏修改器
  • 有哪些外贸网站深圳地铁公司官网
  • 网站模板库阿里云怎么创建网站
  • 网站后台建设佛山手机网站建设
  • 成都制作网站公司软件开发工程师胜任力模型
  • 男女在床上做暖暖插孔网站上海专业做网站公
  • 外包给网站建设注意事项网站建设销售客户开发
  • 校园网站建设背景做后期的网站
  • 外贸英语 网站优化英文
  • 敦化市住房和城乡建设局网站做网站营销公司有哪些
  • 百度经验官网入口seo推广多少钱
  • 网站维护目标html5网页设计实训总结
  • 卖主机网站免费电子版个人简历模板