NGINX Plus助力医保机构管理客户证书 提升应用可见性及安全性
Quantum Health是一家美国的医保机构,为美国各地的公共和私人雇主中需要自行投保的雇员提供服务,指导他们完成复杂的医疗流程。其客户主要来自自筹资金的大型组织,Quantum Health为这些组织的雇员提供优质的医疗服务。为了更好地管理数百个SSL/TLS证书,Quantum Health选择了NGINX Plus作为应用交付解决方案,从而实现证书管理流程的自动化,并且获得了更好的可视性和全面的指标分析。由于NGINX Plus支持零宕机维护,Quantum Health的业务连续性也得到了可靠保障。
借助NGINX Plus管理SSL/TLS证书
Quantum Health解决方案的关键组件之一就是门户网站。通过这个门户网站,会员可以管理他们的帐户、查看报销状态并进行相关活动。Quantum Health会为每个客户托管并部署一个具有唯一域名的独特门户网站。虽然每个客户都有一个单独的域空间,其实所有的站点共用同一个代码库,其中包含了针对每个客户的定制化内容。与每个客户都有一个独立的站点相比,这种方案更有助于简化维护操作。
最初,Quantum Health的IT基础架构团队管理两个SSL/TLS证书,通过使用主题备用名称 (SAN)字段,每个证书最多可支持100个客户域。然而,Quantum Health希望摒弃这种模式。因为共享证书的模式使得查看证书所保护的所有的域变为可能,即其他人有可能看到Quantum Health的客户名单。为此,Quantum Health决定转向为每个客户域提供独立证书的模式,从而在确保系统安全性的同时也保护客户的隐私。然而,在实施新方法的过程中,Quantum Health的Web服务器 Microsoft IIS 遇到了一个障碍——如果IIS要为每个域部署一个证书,那么IT团队必须为每个客户都创建一个相同的后端服务器。因此,公司的IT基础架构团队开始不断寻找能够使操作流程更顺畅的方法,从而可以大规模地管理SSL/TLS证书。
根据之前参与的个人项目和在Gogo的工作经验,Quantum Health公司IT基础架构经理Rick Breidenstein对NGINX和NGINX Plus已经非常熟悉。NGINX Plus基于开源NGINX软件进行了扩展,不仅增加了高级功能,还提供屡获殊荣的支持服务,从而得以提供完整的应用交付解决方案。
Breidenstein表示:“我们正在转向为每个网站部署单个证书的模式,每个域都有自己的唯一证书,这意味着我们从管理两个证书转向管理数百个证书。通过证书管理流程的自动化来减少管理开销,对于我们扩大规模非常重要”,并且 Breidenstein还表示,“轻松管理SSL/TLS证书是Quantum Health选择NGINX Plus的最初原因,除此之外,NGINX Plus还为我们提供了高可用性以及在白天执行系统维护任务的灵活性,即无需停机或中断面向客户的服务就能实现系统维护”。
实现最后一英里的站点安全
Quantum Health使用一对具有高可用性的NGINX Plus实例保护其应用安全
Quantum Health在其私有云中的Microsoft IIS前面部署了一对具有高可用性 (HA) 的NGINX Plus实例,用于处理SSL/TLS卸载。借助NGINX Plus,Quantum Health可以达成每个客户提供单独的SSL/TLS证书的目标,同时还可维持只使用单个后端应用的架构。实现这个效果的方式是在NGINX Plus中指定多个虚拟服务器,每个客户域都对应一台虚拟服务器,同时让每个虚拟服务器代理都指向同一个后端服务。另外,针对来自同一IP地址端口所对应的不同客户域,NGINX Plus使用服务器名称指示 (SNI) 来对其进行区分。
通过将NGINX Plus作为处理SSL/TLS卸载的代理,Quantum Health能够通过一个应用支持所有客户域,并通过为每个客户提供单独的证书而提高安全性。
Breidenstein说道:“我们之前所有SSL/TLS站点的SSL实验室评分都为B。NGINX Plus使我们能够调整相关配置,并将分数从B提高到A。NGINX Plus 让我们能够顺利通过这最后一英里。”
可见性和指标分析得到增强
借助NGINX Plus,Quantum Health的IT团队具备了从未有过的更深入的分析能力。由于IIS由web团队支持,在安装 NGINX Plus 以前,Breidenstein的团队不得不向同事寻求信息,例如请求和连接的数量,以及在需要中断时关闭系统的最佳时间。
Breidenstein解释说:“自从安装了NGINX Plus,我的团队拥有了前所未有的可见性。我们能够获得NGINX Plus的访问日志,并将其发送到Sumo Logic来收集大量指标。例如,我们可以看到有多少404错误、404错误最多的域,以及其他更多信息。基本上NGINX Plus访问日志中的所有数据都可以在Sumo Logic中进行分析。在拥有这些数据之前,当我们有需要影响服务的事件时,我们必须依赖另一个团队来告诉我们何时可以关闭系统。现在,我们可以自己回答这个问题并做出靠谱的决定,从而支持不断增长的业务。”
与此同时,Quantum Health也在使用NGINX Amplify。Breidenstein表示:“通过NGINX Amplify,我能看到活动连接的数量和系统负载等一些关键指标,这样,我们就不会遇到任何处理容量问题。任何时候,我都可以看到活跃客户的平均数量是150个,每天总点击量为400,000次。通过NGINX Amplify,我们发现自己还远远没有达到CPU和内存的极限。”并且Breidenstein还补充道:“我认为,NGINX Plus没有带来任何限制来阻碍我们赢得更多客户并持续扩展业务;在这过程中使用 NGINX Plus,我们不必担心业务会突然中断。”
NGINX Amplify允许轻松访问关键指标,有助于应用监控
通过自动化更智能地开展工作
Breidenstein的目标是实现NGINX Plus的自动化部署,让不熟悉NGINX Plus或Linux的员工也能够部署新代码。
借助于Python脚本、用于证书管理的Lemur和Rundeck编排器,Breidenstein全面实现了NGINX Plus的自动化部署,为Web开发人员提供了一个用于轻松部署新站点的自助服务门户。
现在,开发人员只需插入几个变量并在Rundeck的测试区域生成一个配置文件,就可以部署一个新站点。只需要单击一个按钮,Rundeck就可以将新配置和SSL/TLS证书从测试区域部署到生产环境中的两个NGINX Plus代理,以便它们能保持同步。在将配置推送到生产环境后,新站点就可以上线。
Quantum Health使用SVN来帮助控制对NGINX Plus配置文件的更改,以便团队在需要排除故障时可以看到这些更改。
专业服务和支持服务助您摆脱迁移烦恼
选择NGINX Plus后,Quantum在两周内完成了从决策到部署的过程。这中间需要大量的咨询和讲解,而NGINX的专业服务团队使这一迁移过程变得轻松很多。
在迁移期间,Breidenstein与NGINX的一名专职的专业服务工程师通力合作,他表示:“NGINX的专业服务团队精通业务并提供了极大的帮助,与我一起工作的工程师非常善于沟通,并向我介绍了迁移过程的相关知识,因此我能够在这个过程中不断学习。NGINX为我们提供了宝贵的支持,我建议在未来的更多项目中借助NGINX的专业服务。
迁移完成以后,Quantum Health还没有再次需要技术支持的情况。但技术支持是被包括在NGINX Plus中的,这是Quantum Health早期选择NGINX Plus的一个关键因素。Breidenstein指出:“如果出现什么问题,我不想独自面对。NGINX Plus是我唯一的选择,因为我需要专家的支持作为强大后盾。”
为未来奠定坚实的基础
转向NGINX Plus解决了当前的SSL/TLS和部署问题,同时,这也帮助Quantum Health为实现未来的增长做好了准备。随着Quantum Health引入新客户并建立新的Web门户,NGNIX Plus为Quantum Health提供了坚实的架构基础,使其比以前更容易扩展。Breidenstein表示: “NGINX Plus使我们能够支持更多客户,而不必改变后端配置。”
由于Quantum Health的架构是为高可用性而设计的,因此能够在任何时候执行站点维护而无需中断对客户的服务。
最后,随着流量的增加,NGINX Plus为Quantum Health提供了负载均衡功能,使Quantum Health能够进行扩展并处理比当前多几倍的吞吐量。最终NGINX Plus将成为Quantum Health的前端负载均衡器以支持多个上游后端服务器。