我想将 Varnish 配置为使用 HTTPS(!) 服务作为后端服务。这里的关键是与后端服务连接的 SSL 部分!我对这些 HTTPS 后端服务的控制有限(将它们视为托管在云中的 SaaS 服务)。
它是这样的设置:用户代理 -> AWS ELB 作为 SSL 终结器 -> AWS 中的 Varnish -> 云中的 HTTPS SaaS 服务
其原因如下: - 我想使用 Varnish ESI 用我自己的自定义页眉和页脚来装饰 SaaS 服务 UI。- 通过让所有请求都通过 Varnish,我可以获得有关 SaaS 服务的额外分析数据,否则我将无法获得 - 我可以使用 Varnish 重写 SaaS 服务的 URL,从而有效地向最终用户隐藏 SaaS 服务 URL
我可以将 AWS ELB 用作用户代理的 SSL 终结器,但是如何让 Varnish 将 HTTPS SaaS 服务作为源服务器访问?
背景:我在一个门户网站上工作,我们将在其中向我们的客户展示许多不同的服务(所有服务都有自己现有的 UI,即它们没有无头 RESP API!)。将所有这些服务整合在一起的主要内容是一个通用的页眉和页脚(页眉显示顶级导航和登录名/用户名注销)。
我们拥有的服务类型如下,它们都有自己的 UI 层,我们不想复制它们: - 托管在云中的白标 3rd 方 SaaS 服务(例如 Zendesk 或 Salesforce) - 内部开发托管在 AWS 中的 JavaEE/Spring 服务 - 我们公司其他团队开发的服务,但它们托管在我们自己的数据中心
添加 ESI 包含对于这些服务中的每一个都很好,但我不想为每个服务重复多次重新实现页眉/页脚的工作。