因此,我已经设置了一个 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。