无法从 NAT IP 访问 Apache 网站。解析为主机名

无法从 NAT IP 访问 Apache 网站。解析为主机名

CentOS 7.x

阿帕奇(httpd)

外部 NAT:10.140.xx

内部 IP:10.105.xx

当尝试访问 Apache 服务器时https://10.140.xx,它会尝试解析 Firefox 左下角的主机名。这行不通,因为我们无法控制 NAT 网络的 DNS。如何配置 Apache 来监听显然不存在于任何盒子接口上的 IP?

我尝试编辑 /etc/httpd/conf/httpd.conf

ServerName 10.140.x.x:80

/etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

# General setup for the virtual host, inherited from global configuration
DocumentRoot "/var/www/html"
ServerName 10.140.x.x:443

但这些编辑似乎没有任何作用。我们能够在同一内部网络上访问该网站。

答案1

我已经有好几年没用过 apache 了,所以如果这不是完全正确的,请原谅我(我使用过 nginx,它真的很好,你应该看看它)。正如我在评论中所说,你在请求​​中没有使用主机名,所以它不应该尝试进行任何 DNS 查找(除非你省略了该信息)。

我还建议使用 curl 来测试,而不是使用 Web 浏览器。如果您这样做:

curl 10.10.11.1 -vvv

它应该准确地告诉您在请求期间发生的情况,使用网络浏览器可能会使理解问题变得更加困难。

回答你的问题:

我该如何配置 Apache 来监听显然不存在于盒子任何接口上的 IP?

你为什么要这么做?如果你这样做,它将会监听来自某个地址的流量,而这个地址永远不会到达 Apache,所以它永远不会提供该内容。

如果您希望将流量指向 NAT 网关的公共地址,并让该流量到达您的 Web 服务器,那么这也行不通,因为 NAT 不知道将您的 Web 请求路由到哪里。NAT 网关通常用于让您的主机可以与外界通信,并且其返回的流量能够找到它来自的主机。您不会使用 NAT 网关将传入流量路由到给定主机,这就是端口转发/重定向的目的。

也许有关您的基础设施以及您想要实现的目标的一些额外背景信息会让您更容易找到合适的解决方案?

答案2

这个问题可以通过转到 Wordpress > 常规设置 > 将 WordPress 地址 URL 更改为:

https://10.140.xx

事实上,这似乎更像是 WordPress 的问题,而不是 Apache 的问题。谢谢大家的帮助。网站的加载速度也比浏览器访问外部资源的速度快得多。

相关内容