小编Alt*_*ime的帖子

哪些 ssl 证书位于反向代理上的哪个位置?- nginx

需要澄清 nginx 反向代理服务器上的上游 SSL

我一直在阅读有关反向代理保护与上游服务器的 ssl 连接的nginx 文档,但我仍然对哪些 ssl 证书去哪里感到困惑。我发现的许多示例都有 nginx 代理本地主机,但我的情况是端点位于不同的服务器、端口和物理位置。

我想在 nginx 服务器上解析多个域。每个域在其当前服务器上都有一个用于其实际域名的 ssl 证书。

现在,我的每台服务器都在其自己的网络位置和物理位置上运行,但我希望有一个点来管理这些端点。

我的最终结果应该是这样的

                             client
                               |
                             nginx
                       https://example1.com
                       https://example2.com 
                       https://example3.com
                             x.x.x.x
                               |
               -----------------------------------------
               |                |                      |
https://example1.com    https://example2.com    https://example3.com
   a.b.c.d:1234             e.f.g.h:5678            i.j.k.l:9012
Run Code Online (Sandbox Code Playgroud)

现在https://example1.com解析为 abcd:1234,它安装了自己的 ssl 证书。因为我需要向客户端表示 nginx 服务器正在为域 example1.com 提供服务,所以我认为我需要将 example1.com ssl 移至前端运行的 nginx 服务器,对吧?如果我这样做,我应该在 abcd:1234 上使用什么 ssl 证书来维护安全的上游连接?

nginx 文档说 client.crt 和 server.crt,但 CA 使用域来注册它们。反向代理情况下的客户端和服务器是什么?对我来说,客户端是发出请求的浏览器。

哪些 ssl 证书位于反向代理上的哪个位置?

编辑:

我已经知道,只需将基于 url 的证书放在代理服务器上,您就可以看起来拥有安全连接。我希望知道的是要在后端服务器上放置哪些 ssl 证书。只是重复使用各自的证书吗?example1.com.crt代理服务器和后端服务器都可以吗?

ssl nginx reverse-proxy ssl-certificate

8
推荐指数
1
解决办法
2万
查看次数

如何禁用 Certbot Let's Encrypt 证书中包含的“主题备用名称”?

使用 Certbot 在 nginx Web 服务器上安装 R3 Let's Encrypt 证书会导致 nginx 配置中的所有其他域都包含在证书的“主题备用名称”下。这对于我的用例来说是不可取的。

我在这里阅读了手册页,并在这里这里阅读了其他一些 Stack Exchange 帖子。

关于替代名称的使用,手册页说(我不完全理解):

-d DOMAIN, --domains DOMAIN, --domain DOMAIN 要应用的域名。对于多个域,您可以使用多个 -d 标志或输入逗号分隔的域列表作为参数。提供的第一个域将是证书的主题 CN,所有域将是证书上的主题备用名称。第一个域还将在某些软件用户界面中使用,并用作证书和相关材料的文件路径,除非另有指定或您已经拥有同名的证书。如果发生名称冲突,它将在文件路径名后附加一个数字(如 0001)。(默认:询问)

使用 Certbot 安装 Let's Encrypt 证书时,如何完全指定或省略主题备用名称?如果 Certbot 不能,在仍然使用 R3 Let's Encrypt 证书的同时是否有不同的方法?

ssl-certificate lets-encrypt certbot

5
推荐指数
1
解决办法
2077
查看次数

只有所有端口的 CenturyLink 用户都无法访问我的静态 ip

问题:

您如何诊断特定于 ISP 的连接问题?

我在本地机器上托管了几个站点。我用 Centurylink 支付了一个商务级帐户,并且有很多 5 个静态 ip。除其他 Centurylink 用户外,这些网站可从世界任何地方访问。如果我的客户没有像我一样生活在木棍中,我永远不会知道。Cox 用户、Verizon 用户、Cricket、At&t、Comcast 以及大量美国和国际互联网服务提供商可以访问我的网站和 IP 地址,但使用 Centurylink 的其他人除外。

我所做的:

在另一个人的家中使用 Centurylink 互联网时,我尝试访问端口 80 和 443 上的每个 IP 地址。我尝试通过我为该服务选择的任意端口 ssh 进入服务器。我tracert在域和 IP 地址上运行并得到以下结果:

1   2ms 1ms 1ms modem.Home [192.168.0.1]
2   30ms    30ms    25ms    rbflxyza84.centurylink.net [x.x.123.45]
3   29ms    30ms    33ms    asdf-ghjk.inet.qwest.net [x.x.122.34]
4   29ms    30ms    33ms    x.x.x.18
5   200ms   79ms    59ms    x-x-45-67.orlf.qwest.net [x.x.45.67]
6   *   *   *   Request timed out.
7   *   *   *   Request timed out.
8   * …
Run Code Online (Sandbox Code Playgroud)

domain-name-system firewall isp netmask

4
推荐指数
1
解决办法
658
查看次数

如何仅在单个主机 IP 地址上进行端口转发

简短的问题:

如何仅在单个主机 IP 地址上启用端口转发?

背景故事:

我的 Centos 7 服务器有 5 个 IP 地址。以前,我让 apache 监听所有这些,以及分配给那些用虚拟主机解析的 ip 地址的各种域。

我更改了Listenhttpd.conf 中的指令,以便现在 apache 只侦听 4 个 IP 地址

使用 node.js 我创建了另一个服务器实例,但它不会让我在没有提升权限的情况下监听标准端口 80。我不想以提升的权限运行它。

我想将端口 80 转发到 8080 之类的端口,但仅在一个 ip 地址上,而不会影响指向其他 4 个 ip 地址的流量。重要的是,其他 IP 地址上的流量不受该规则的影响。

我认为解决方案将类似于:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
Run Code Online (Sandbox Code Playgroud)

我发现的其他问题和答案与源 ip 地址而不是主机 ip 地址有关。

port-forwarding centos7 firewall-cmd

2
推荐指数
1
解决办法
1万
查看次数