我正在尝试建立一个托管在我电脑上的网站。我使用的是带 IIS 的 Win7 和 O2 Wireless Box II。我可以使用http://localhost
或http://192.168.1.104
(子网 IP 地址)访问该网站。
老实说,我觉得我只能猜测如何做到这一点,但我是一名软件开发人员,所以确实有一些技术技能。我已经设置了端口转发,以下链接详细说明了如何
http://www.o2help.co.uk/router-port-forwarding/
说实话,我不太清楚端口转发是如何工作的。
唯一的协议选项是 TCP 和 UDP(创建游戏或应用程序链接),所以我将端口转发设置为协议 TCP 和端口号 8080(我也尝试了端口号 80 和端口 7976)。
不幸的是,当我使用网络外的计算机导航时http://myipaddress
(我使用的是 O2_ADSL2plus 连接的 IP 地址),我收到“连接已超时”的提示。我显然错过了什么,因为它无法正常工作。
我做错了什么?我应该使用哪个 URL 来查找我的网站?如果我不使用端口 80,是否需要在 URL 中指定端口号?我只有 TCP 协议选项而没有 http 选项,这有问题吗?子网 IP(192.168.1.104)与外部 IP 地址有何关系?使用 O2 宽带和我的 O2 路由器可以实现这一点吗?
谢谢
New Application
name: FAL80
How to define: manual
[next]
Port
Protocol: TCP
Port Range: 80 80
Translate to: 80 80
Trigger Protocol: -
Trigger Port: -
[add]
Assign application
Application: FAL80
Device: my_pc
[add]
答案1
您需要将外部端口转发到 Web 服务器的内部端口,这些端口可以相同。默认情况下,您的 Web 服务器在端口 80 上运行,因此您需要将端口 80 转发到计算机的内部 IP 地址。
New Application
name: my_webserver
How to define: manual
[next]
Port
Protocol: TCP
Port Range: 80 to: 80
Translate to: 80
Trigger Protocol: Any
Trigger Port: (blank)
[add]
Assign application
Application: my_webserver
Device: my_pc
[add]
ISP 经常会阻止端口 80,因为他们的服务条款禁止最终用户运行网络服务器。
一些(大多数?)路由器将允许您将高编号的外部端口转发到不同编号的内部端口(严格地说,这是端口地址转换 (PAT),但通常它只是端口转发功能的一部分)。因此,您可以将外部端口 8080(例如)转发到计算机内部 IP 地址的内部端口 80。
如果您将路由器配置为将端口 8080 转发到端口 80,那么您必须在自己的 LAN 之外使用的 URL 将会是这样的,http://123.45.67.89:8080/
其中 123.45.67.89 将被路由器的外部 IP 地址替换,如 WhatsMyIP.com 等服务所示。
如果您的 ISP 没有为您分配静态 IP 地址,您的 IP 地址会时常发生变化。您可以注册动态 DNS 服务,这样您就可以一直使用固定名称,例如http://yourname.dynamic-dns-provider.com:8080/