当我在执行 NAT 的路由器上的 LAN 上时,Apache 如何知道我的外部 IP?

当我在执行 NAT 的路由器上的 LAN 上时,Apache 如何知道我的外部 IP?

因此,我已经设置了一个 Apache 服务器,人们告诉我,我需要指定Listen :80或放置一个虚拟主机,httpd.conf以便 Apache 允许来自我的公共 IP 的流量。

我的问题是,它如何知道我的公共 IP?Apache 位于执行 NAT 的路由器内的 LAN 中。

答案1

(假设 Apache 服务器不在公共 IP 上)Apache 不知道您的公共 IP。路由器需要将请求转发给它并重写目的地。

答案2

Apache IP 必须在 apache 配置文件中设置。当信息到达您的真实 IP 地址时,该信息将重新路由到内部 IP 地址和/或端口。

例子:

140.90.15.200-> 192.168.1.100:80-> Apache 监听有关此本地 IP 地址的信息。

默认情况下,apache 监听某个 IP 地址和端口 80。

您可以将 Apache 与 localhost 一起使用,这意味着您正在使用 IP 地址127.0.0.1:80

您可以配置 Apache 来监听任何 IP 和任何端口,但默认值已在您的配置文件中设置。

您的网络浏览器也默认使用端口 80。

您可以在这里阅读更多的

附加信息(相关性 20%):多年经验库中关于端口陷阱的一些信息。操作系统和程序以不同的方式接受和处理不同的端口。例如,一定范围的端口被病毒接受使用,并被防病毒软件和/或操作系统阻止。如果您使用端口 8080,可能没问题,但最好测试一系列端口,以确保问题不来自该端口。尝试 8080、8081,然后尝试差异很大的 9090、9091。

相关内容