Nginx 服务器初始阶段,在哪里提供 SSL 服务?

Nginx 服务器初始阶段,在哪里提供 SSL 服务?

我有 3 台服务器。

像这样

服务器 A:带有 nginx 的防火墙服务器,根据 server_name(虚拟主机)重定向到服务器 B 或 C,可从外部访问。

服务器 B:带有jwilder/nginx-proxy,一个反向 nginx 代理,为该服务器中的所有 docker web 容器提供服务,可通过服务器 A 访问。

服务器C:与服务器B相同

这些是办公室内的专用服务器,办公室里的人员直接通过服务器 B 或 C 访问公司网站,我想为基础架构中的网站配置 SSL,但遇到了 2 个问题:

1.-如果我在服务器 A 中配置 ssl,办公室内部的人员将无法使用 https 访问网站,因为可以直接访问服务器 B 或 C。

2.- 如果我根据以下情况从服务器 B 或 C 内部配置站点,该网站显示重定向问题(重定向太多),至少从外部来看。

这是服务器 A 中重定向到服务器 B 的配置:

server {
        listen   80;
        server_name sites-in-serverB.com;
        access_log  /var/log/nginx/xxxxxxxx.log;
        location / {
                proxy_pass      http://serverB-IP/;
        }
}

**与服务器 C 站点服务相同

当然,每个容器都有自己的 nginx 服务器(是的,我真的很喜欢 nginx)。所以我们正在寻找 4 个级别的 nginx。盗梦空间!!

答案1

在每台服务器上配置 SSL。这样,通过服务器 A 访问这两台服务器的公众将获得 SSL,而访问服务器 B 和 C 的人员也将获得 SSL。无论目标是 http 还是 https,您都可以从服务器 A 进行 proxy_pass。

但是内部服务器并不总是需要通过 SSL,在这种情况下您只需保护服务器 A 即可。

如果您愿意,可以使用免费的 Let's Encrypt 证书。

相关内容