如何使 webrick 服务器在 Windows Server 2008 上可通过 Web 访问

如何使 webrick 服务器在 Windows Server 2008 上可通过 Web 访问

这是一个新手问题(我现在更像是一个被赋予管理任务的程序员)。我有一个 rails 应用程序,它在远程 windows server 2008 机器上运行良好(它是 rails 2.3.5,我运行它,ruby script/server它在端口上运行良好3000(即我可以在 localhost:3000 上访问它)。

假设机器域被称为domain.com..如果我去domain.com:3000什么也不会发生。

如何使该应用程序可在 www 上访问?如果我直接访问,domain.com我会看到一个 IIS 欢迎页面。

答案1

您所需的确切步骤取决于您的网络设计和软件/硬件设备,但请检查从一端到另一端的所有重要点,并确保它们允许流量通过。

它可能在以下一个或多个地方被拦截:

  • Windows 防火墙默认阻止传入连接。查看控制面板 -> 管理工具 -> 高级安全 Windows 防火墙,入站规则。创建新规则“允许端口,TCP,3000,所有配置文件”。保存并重试。

  • 它是如何连接到互联网的?您可能有路由器和/或防火墙,默认情况下,这两者都会阻止传入连接。您需要在任何防火墙设备上打开端口 3000。如果您的服务器有一个私有地址(192.xxx、172.xxx、10.xxx),那么它位于网络地址转换 (NAT) 后面,您需要设置port forwarding以将互联网端端口 3000 上的传入连接发送到 LAN 端的服务器。(以下是如何针对各种路由器执行此操作的示例:http://portforward.com/english/routers/port_forwarding/

  • 您可以访问localhost:3000,但如果您的应用程序绑定到该地址,则127.0.0.1:3000它可能仅侦听来自其正在运行的服务器的连接。如果是这样,请将其更改为使用服务器的地址,例如192.168.0.1:3000

  • 服务器是否运行任何包含防火墙层的防病毒软件(McAfee、Norton)?这可能会阻止端口 3000 上的传入连接。如果是这样,请找出如何允许该连接通过。

这些是最有可能的事情;端口 3000 连接进入您的互联网连接,然后将其丢弃。然后,一旦您将它们连接到您的服务器,Windows 防火墙就会将它们丢弃。

  • 也可能是因为您的浏览器不允许连接到端口 3000,这可能是因为您的客户端计算机上的防火墙非常严格(McAfee、Norton 等),或者是因为您的客户端互联网连接上的办公室防火墙非常严格。

相关内容