网关能力卸载

what:

  将共享或者专用型服务,从应用程序中移动到网关,从而减轻应用程序的负担。

 

where:

  一些功能通常需要跨越多个服务使用,并且这些功能需要配置、维护、管理。这些功能和应用程序一起分发的共享或者特殊化的服务,会增加应用程序的开发成本和部署错误;并且对共享服务的更新,需要所有共享了该服务的程序进行升级更新。

  正确处理安全问题(例如:令牌验证、加解密、SSL证书管理)、其他需要专业团队来管理的服务、或者其他很难在大量部署中实施和管理的服务(如身份验证、授权、日志记录、监视或限制)。

  例如,应用程序所需的证书必须在所有应用程序实例上配置和部署。 对于每个新部署,必须管理证书以确保它未过期。 任何即将到期的通用证书必须针对每个应用程序部署进行更新、测试和验证。可能更好的做法是合并此类型功能,以便减少开销和降低错误概率。

  

how:

  将这些能力卸载到网关,尤其是那些横切关注点(如证书管理、身份验证、SSL 终端、监视、协议转换或限制)。

  下图是:SSL 连接的 API 网关。

  

 

优势:

  1、对应用程序:简化应用程序的开发和部署成本;

  2、方便更加专业的团队做更加专业的事情,例如:安全;

  3、提供请求和响应记录,以及和监控的一致型;

 

demo:

  将 Nginx 用作 SSL 卸载设备,以下配置将终止入站 SSL 连接,并将连接分布到三个上游 HTTP 服务器之一。

upstream iis {

server 11.2.1.14 max_fails=3 fail_timeout=15s;

server 11.2.1.21 max_fails=3 fail_timeout=15s;

server 11.2.1.32 max_fails=3 fail_timeout=15s;

}

server {

listen 443;

ssl on;

ssl_certificate /etc/nginx/ssl/domain.cer;

ssl_certificate_key /etc/nginx/ssl/domain.key;

location / {

set $targ iis;

proxy_pass http://$targ;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto https;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

}

}

 

posted @ 2022-01-27 14:39  修心而结网  阅读(74)  评论(0编辑  收藏  举报