1

我在这里使用本教程制作了一个简单的 Jetty 服务器,http://www.seas.upenn.edu/~cis550/jetty.html

现在我已经完成了初始步骤,我可以通过在浏览器中输入 localhost:8080/hello 或 127.0.0.1:8080/hello 成功连接到我的服务器。到目前为止,一切都很好。servlet 工作正常。

我现在有兴趣使用“机器 B”连接到服务器。我想构建一个可以在任何地方通过任何浏览器连接的服务器。

我的 IP 是 XX.173.XXX.216,出于明显的隐私原因隐藏了部分内容。在我的“机器 B”上,我尝试在浏览器 URL 中输入 XX.173.XXX.216:8080/hello。找不到该网站。根据经验,我质疑我的端口映射并打开了我的 8080 端口。

经过几次谷歌搜索和一段时间的阅读,我放弃了。有谁知道我的问题的可能解决方案?在设置 Jetty 服务器以使其可以从外部机器访问时,我还需要执行其他步骤吗?

4

1 回答 1

2

从防火墙内部进出通常并不难。从外部和内部获取要复杂得多(只需看看 Skype 跳过的箍,以便能够让两台计算机各自在防火墙后面直接相互交谈)。

首先,您需要确保 Jetty 监听正确的网络设备。

确定运行 Jetty 的计算机的 IP 号(不是 127.0.0.1),看看您是否可以从机器本身连接到“http://that-ip-number:8080”。如果这不起作用,请修复您的码头配置。然后将另一台计算机放在同一网络上并连接到“http://that-ip-number:8080”。在你走得更远之前,这必须有效。如果这不起作用,请在运行 Jetty 的计算机上修复防火墙配置。

当上述工作正常时,您可以开始考虑通过路由器公开端口。路由器很可能有一个 Web 界面,您可以在其中进行配置,但最简单的方法是使用 uPNP 工具(如果您的路由器支持),该工具可以将外部端口重定向到内部网络上的特定主机和端口. 我在 OS X 下使用“端口映射”,它有一个非常简单的界面。

祝你好运

于 2012-12-26T01:10:36.887 回答