加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

52-互联网安全架构-互联网API开放平台安全设计-APIGateway-网关

发布时间:2022-11-02 13:15:43 所属栏目:安全 来源:
导读:  文章目录

  1.企业网关架构流程图

  zuul框架使用java语言编写,Nginx使用C语言写

  nginx功能比zuul功能更加强大,Nginx实现反向代理功能比zuul要好

  SpringCloud 注册中心,生产者消
  文章目录
 
  1.企业网关架构流程图
 
  zuul框架使用java语言编写,Nginx使用C语言写
 
  nginx功能比zuul功能更加强大,Nginx实现反向代理功能比zuul要好
 
  SpringCloud 注册中心,生产者消费者 断路器 zuul(网关) 分布式配置中心
 
  Zuul框架是微服务里面的某个组件,网关
 
  Nginx针对于服务器
 
  2.API网关设计
 
  API网关是微服务架构(Microservices Architecture)标准化服务的模式。API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理则是一样。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。
 
  3.网关的应用场景
 
  1、黑白名单:实现通过IP地址控制禁止访问网关功能,此功能是应用层面控制实现网站安全架构,再往前也可以通过网络传输方面进行控制访问。
 
  2、日志:实现访问日志的记录,可用于分析访问、处理性能指标,同时将分析结果支持其他模块功能应用。
 
  3、协议适配:实现通信协议校验、适配转换的功能。
 
  4、 身份认证:负责网关访问身份认证验证,此模块与“访问认证中心”通信,实际认证业务逻辑交移“访问认证中心”处理。
 
  5、计流限流:实现微服务访问流量计算,基于流量计算分析进行限流,可以定义多种限流规则。
 
  6、路由:路由是API网关很核心的模块功能,此模块实现根据请求,锁定目标微服务并将请求进行转发。此模块需要与“服务发布管理中心”通信。“服务发布管理中心”实现微服务发布注册管理功能,与其通信获得目标微服务信息。
 
  4.Nginx实现网关
 
  http {
      include       mime.types;
      default_type  application/octet-stream;
      sendfile        on;
      keepalive_timeout  65;
      server {
          listen       80;
          server_name  localhost;
          location /api-a {
              proxy_pass   http://127.0.0.1:8000/;
              index  index.html index.htm;
          }
   location /api-b {
              proxy_pass   http://127.0.0.1:8001/;
              index  index.html index.htm;
          }
      }
  }
  5. rpc通讯架构原理
 
  在这里插入图片描述
 
  6. zuul实现网关
 
  eureka:
    client:
      serviceUrl:
        defaultZone: http://localhost:8100/eureka/
  server:
    port: 8769
  spring:
    application:
      name: service-zuul
  zuul:
    routes:
      api-a:
        path: /api-a/**
        serviceId: itmayiedu_a
      api-b:
        path: /api-b/**
        serviceId: itmayiedu_b
  @EnableZuulProxy
  @EnableEurekaClient
  @SpringBootApplication
  public class ZuulApplication {
   public static void main(String[] args) {
   SpringApplication.run(ZuulApplication.class, args);
   }
   @Bean
   public TokenFilter accessFilter() {
   return new TokenFilter();
   }
  }
 

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!