我不太确定我做错了什么,因为从我读过的内容来看,这一切应该都是可行的。
我做了什么:
- 转发端口 80、8080 和 443。
ServerName localhost:80
将中的行更改\apache\conf\httpd.conf
为ServerName myip:80
。- 在 dyndns.com 注册,并一直使用他们的更新客户端将我的 IP 链接到 DNS。
- 确保 xampp 使用端口 80,并启动 apache 和 MySql。
然后...什么都没有。我错过了什么?=/。
更新:禁用 Windows 防火墙和路由器防火墙。仔细检查了端口转发,发现设置正确。仍然没有结果。
更新:我可以从网络内部正常查看所有内容(spull.dyndns.org、192.168.0.11 和服务器的本地 IP),但不能从外部查看。我仍然无法从网络内部查看我的 WAN IP。路由器上的 DDNS 功能仍然使用本地 IP 而不是我的 WAN IP 进行更新。有什么建议吗?
另外,我现在正在使用 Ubuntu,如果这有什么区别的话。
答案1
ServerName myip:80.
您应该写下您的 DynDNS 子域名而不是您的 IP :) 此外,在 DynDNS 中,您必须手动指定您要将端口转发到的主机的 IP 地址:DynDNS 将仅确定您的个人 IP。
答案2
检查事项:
- 您绑定的
localhost
IP 并非面向公众。绑定至0.0.0.0
(所有接口)。 - 确保你在听。编辑行
Listen
以ports.conf
类似于Listen [public ip]:80
- 确保你使用的是正确的 IP,使用我的IP地址。
- 确保您可以访问。通过公共 IP ping 您的计算机。
答案3
嗯...您确定已将端口转发到正确的 IP 地址吗?如果您在路由器后面的 LAN 上,您将拥有一个分配给路由器 WAN 端口的公共 IP - 这就是 DNS 应该指向的。然后,您将获得路由器后面服务器的 LAN IP。这些 IP 通常由路由器动态分配,以 192.168.xx 开头。如果您的路由器支持,您可以执行静态 DHCP,根据 MAC ID 为您的服务器分配一个预定的 LAN IP,或者通过复制/粘贴路由器通常分配的子网掩码、DNS 服务器和网关 IP,然后在服务器上手动配置 TCP/IP,然后选择路由器分配范围之外的 IP 地址。例如,我的路由器分配 192.168.1.[100-254],所以我将为我的服务器分配 192.168.1.42。
哦,确保您的路由器或服务器上没有运行防火墙。
您提到它在本地工作,但它是否也能在您的本地子网上工作?即,您是否可以使用 LAN IP 从 LAN 上路由器后面的另一台计算机访问 Web 服务器?这将有助于缩小问题的范围。
答案4
我不知道它是否会起作用,但请尝试 UniServer 或具有生产模式的程序,以便它可以轻松工作。我已尝试过生产模式下的 UniServer,它可以在互联网上实时运行。