当 Apache 服务器位于 NAT 后面并且公共 IP 和端口已知时,如何通过 SSL 连接到 Apache 服务器?

当 Apache 服务器位于 NAT 后面并且公共 IP 和端口已知时,如何通过 SSL 连接到 Apache 服务器?

当客户端和服务器都位于 NAT 防火墙后面时,我想通过 SSL(使用客户端和服务器证书)连接到 Apache 服务器。我无法进行端口转发,并且必须假设除 80 和 443 之外的所有端口都被阻止。

我听说过 NAT 打洞,但我不想使用第三方服务器,而且我听说它使 SSL 握手变得不可能。我认为我无法通过 SSH 隧道传输 SSL 连接——至少在不使用第三方服务器的情况下不行。知道两个公共 IP(通过 DDNS)并假设我在两端都使用端口 443,还有其他连接方式吗?如果是这样,我该如何使用 Apache 来实现?

我对其中的一些内容仍然有点模糊,所以如果我说了一些没有意义的话,请纠正我。

答案1

你们的说法不一致:

当 Apache 服务器位于 NAT 后面并且公共 IP 和端口已知时,如何通过 SSL 连接到 Apache 服务器?

从这个标题可以推断该服务器可以通过公共 IP 和端口访问。

... 客户端和服务器都位于 NAT 防火墙后面。我无法进行端口转发...

但是这句话清楚地表明,服务器位于 NAT 后面,并且您没有端口转发。由于服务器只监听传入连接,并且不会自行创建任何连接,因此只有当您在服务器前面的 NAT 设备上配置了显式端口转发时,它才可以从外部(即客户端)访问。只有在这种情况下,您才拥有服务器的公共 IP 和端口,然后客户端也可以访问它,也就是说客户端不需要端口转发。

相关内容