我想在家里运行一个网络服务器,所以我的家人和客户可以看到我在做什么。它不会运行大负载,一次最多 2 或 3 个用户。
我想知道如何使用运行 IIS 的 Windows 机器来做到这一点。
我有一个来自有线电视公司的路由器,它通过无线路由器连接到我想成为网络服务器的机器。
我想在家里运行一个网络服务器,所以我的家人和客户可以看到我在做什么。它不会运行大负载,一次最多 2 或 3 个用户。
我想知道如何使用运行 IIS 的 Windows 机器来做到这一点。
我有一个来自有线电视公司的路由器,它通过无线路由器连接到我想成为网络服务器的机器。
以下是基本步骤。具体细节取决于您拥有的路由器类型,但这些概念仍然适用:
在您想成为 Web 服务器的机器上安装 IIS。在大多数情况下,将其保留在标准端口 80 上是可以的(我们稍后将通过防火墙重新映射端口,因为大多数 ISP 不允许端口 80 上的传入流量)。
转到 DynDns.org 并为自己创建一个映射到您的家庭 IP 地址的名称。这很重要,因为您的地址会不时更改(DHCP 中的“D”),并且您希望有一个众所周知的家外部名称。使用 DynDNS 非常简单,他们有很好的常见问题解答可以帮助您。如果您的路由器自动支持 DynDns,那么您需要登录您的路由器并提供 dyndns.org 用户名和密码。如果您的路由器不支持DynDNS,他们有一个小实用程序,您应该下载并安装在您的 IIS 机器上,它会一直运行并检测您的公共 IP 地址何时更改并更新您的 dyndns 主机记录。
登录到您的路由器(通常是位于 192.168.0.1 的网站,或者您 IP 范围的第一个 IP 地址)。为您的 IIS 机器设置一个固定的 IP 地址。通常这是通过为 IIS 机器的 MAC 地址分配一个固定的 DHCP 地址来实现的。一旦你这样做了,当你的 IIS 机器通过 DHCP 请求一个 IP 地址时,它总是会获取相同的 IP 地址
登录到您的路由器。添加“端口映射”(或有时称为“静态路由”),将传入的公共 TCP 端口 8080 映射到端口 80(默认端口)上本地 IIS 计算机的 IP 地址。请注意,某些路由器不允许您更改端口(通常是“静态路由”选项)。在这种情况下,您将需要重新配置 IIS 以侦听端口 8080(或您想要公开的任何端口),并在您的 IIS 计算机上创建从公共 TCP 端口 8080 到端口 8080 的路由。
显然,有几个地方可能会被错误配置,故障排除是不可避免的。
验证 IIS 是否在您的本地网络上运行。启动您最喜欢的浏览器并导航到您的 IIS 计算机的本地 IP 地址和端口:http://192.168.0.5:80或任何合适的。确保它有效。如果没有,请修复它,直到它出现为止。
验证您的 DynDNS 记录是否正确映射到您当前的公共 IP 地址。您可以通过访问 http://whatismyipaddress.com找出您当前的公共 IP 地址。一旦你知道了,打开命令提示符并 ping 你的公共名称(“ping longhorn213.homeip.net”或 DynDNS 给你的任何名称),看看它是否有效。ping 本身可能被阻止(许多路由器阻止传入的 ping),但您仍然应该看到被查找的 IP 地址。确保它与您的实际公共地址相匹配。如果没有,请与 DynDNS org 合作以使其正常工作。
如果故障排除步骤 1 和 2 都有效,则问题可能出在路由器的端口映射中。这通常是最难解决的问题。路由器通常具有可以打开的内部日志。查找指定端口的传入流量日志,并查看路由器对其执行的操作。如果您遇到问题,您可能需要为您的特定路由器查找论坛或支持站点才能使其正常工作。
许多 ISP 不允许端口 80 上的传入流量,因此您可能必须在非标准端口上运行。无论哪种情况,您都可以将路由器配置为将端口 80(或您使用的任何端口)上的流量转发到您的服务器计算机。您的服务器将需要 LAN 上的静态 IP 地址(而不是 DHCP 分配的地址)。
如果您的 ISP 为您提供动态 IP,您可能希望使用动态 DNS。许多路由器都内置了 DynDns 支持。
您应该小心,因为在大多数情况下,从住宅互联网连接运行 Web 服务器被列为违反许多 ISP 服务条款的做法。
您可能无法在家中轻松设置可通过 Internet 访问的 Web 服务器。我知道我的 ISP 专门阻止了端口 80 入站,因此即使我自己允许流量,它也永远不会到达我的路由器。假设这不是问题,我会在 dyndns.org 或类似网站上注册,这样无论有线电视公司的 DHCP 导致 IP 发生什么变化,您都可以访问您的主机。之后,我将使用 IIS 配置该框,然后设置端口转发以从路由器到端口 80 上的 Web 服务器。
虽然可能有用性值得怀疑。我有一个WHS,它运行一个网站让我获得远程访问,运行得很好 24 x 7 x 365。但是,我想运行的任何实际网站都使用共享托管服务提供商。
大多数情况下,当您购买域名时,它会附带一些免费托管服务。除非你真的想为一个经常在你家外面跑的简单网站做系统管理员,否则这是不值得的。
现在有几个 NAS 设备也内置了 Web 服务器。一些只用于他们自己的管理页面,但其他有完整的 LAMP 安装和一个专门用于添加博客等内容的区域。然后,如果你没有 ISP提到的问题,将其设置为静态 IP 或保留 DHCP 条目,将传入端口 80(或您选择的任何内容)转发到设备,您就完成了。
该设备通常也会内置一个动态 DNS 更新程序客户端
请注意,IIS 不是您唯一的选择。Apache在 Windows 上运行得很好,PHP、Perl、Python和MySQL也是如此。如果您足够精通技术,Apache 是一个不错的选择,因为它通常比 IIS 使用更少的资源(如果您计划同时将系统用于其他任务)。