尝试通过具有多个后端/基础架构的反向代理弄清楚 SSL

尝试通过具有多个后端/基础架构的反向代理弄清楚 SSL

我很难理解具有多个后端的 SSL。我可能只需要有关基础设施方面的一般建议。

这是我的情况/问题:

我有三台服务器:

  1. 主网站
  2. 托管控制面板
  3. 开发机
  4. 反向代理

所有网站都位于 foo.com 上,我想将流量从防火墙分别传递到每个后端。

我正在使用同一网络上的规则反向代理将流量重定向到后端,但我无法让 SSL 正常工作。我将其映射如下:

dev.foo.com 映射到服务器 3。

hosting.foo.com 映射到 2。

否则:

*.foo.com 映射到 1。

我希望 secure.*.foo.com 以相同的方式工作,只是它会将 URL 重写为 SSL 的 https。

我正在研究各种方法,例如通配符 SSL,但没有太多有用的信息。

下面是我的设置的一小部分 ASCII:

|--------|
|Internet|
|--------|
    |
|------|
|Router|----*-------*
|------|    |       |
   |        |       |
   |        |       |
|-------|   |   |-------|
|R-Proxy|   |   |Server1|
|-------|   |   |-------|
            |
            |   |-------|
            *---|Server2|
            |   |-------|
            |   
            |   |--------|
            *---|Server 3|
                |--------|

任何有关基础设施的建议都很好。

答案1

你应该做的只是在反向代理处终止 SSL。这样,你根本不需要更改映射规则。所以:

 [internet]---https---[r-proxy]---http---+--[server 1]
                                         |
                                         +--[server 2]
                                         |
                                         +--[server 3]

这可能是最简单的方法。您可以在反向代理上使用通配符 SSL 证书,并将所有非 SSL 流量重定向到 secure.*.foo.com 到 SSL 版本。这可以在您的 Web 服务器配置中控制。

希望这可以帮助。

相关内容