13

我有一个 JSP 网站,我想与朋友分享。我们都在使用相同的互联网资源。我们有一个共同的静态 IP:49.204.14.98(我的公共 IP)。我们有将近 40 个用户共享相同的资源。我的 IP 为 192.168.0.120。当我尝试连接到 192.168.0.120 时,它无法连接。请建议我如何使其他 PC 可以访问我的服务器。

我不是管理员,也无权访问路由器设置。

我看到了这个链接链接,但它与我的问题无关

4

6 回答 6

20

如果您使用的是 Apache Tomcat,则默认情况下,部署到它的应用程序可在端口 8080 上访问。

因此,如果您已经以适当的方式将 Web 应用程序部署到 Tomcat,并且您已经启动了 Tomcat 服务器,那么您可以像这样访问您的应用程序(网站):

http://localhost:8080/Your_App_Name/index.jsp

代替localhost,您可以使用 127.0.0.1 或您的私有 IP 地址 192.168.0.120 像这样

http://192.168.0.120:8080/Your_App_Name/index.jsp

使用已部署应用程序的名称(应用程序上下文)代替Your_App_Name ,这里以index.jsp为例。

如果您所有的朋友都和您在同一个LAN局域网)上(并且您说他们是),那么他们可以使用上述 URL 访问您的 Web 应用程序。

http://192.168.0.120:8080/Your_App_Name/some_path/some_file.jsp

如果它们在您的 LAN 之外,那么您必须在路由器上配置端口转发。当然,要做到这一点,您需要访问它。然后他们将能够使用您的公共 IP 和在设置端口转发时配置的端口访问您的 Web 应用程序。

这是一篇非常好的带有图片的文章:


顺便说一句,如果您已经正确安装并启动了 Apache Tomcat,那么您应该可以像这样访问它:

http://localhost:8080

有用的资源

于 2012-12-27T00:58:32.863 回答
20

就像@informatik01 写的那样,“如果你所有的朋友都和你在同一个局域网(局域网)上(你说他们是),他们可以使用上面的 URL 访问你的 Web 应用程序。 http://192.168.0.120:8080/Your_App_Name/some_path/some_file.jsp

您使用的是什么操作系统?您对server.xmlin进行了任何更改$CATALINA_HOME/conf吗?

首先尝试在本地访问它,然后从您朋友的一台计算机上尝试。如果随后失败,请尝试在运行 tomcat 实例的同一台机器上关闭防火墙。根据其配置,它可能会阻止默认端口上的传入连接8080。如果这是问题所在,请重新激活防火墙并为 http 流量打开所需的端口8080

了解日志,它们通常位于 中$CATALINA_HOME/logs/,例如查看 catalina.out。如果您不确定服务器是否启动并运行以及可能出现的任何问题,那是最好的检查地点。在那里它会说明它找到了哪些 webapps 以及它是否成功部署了它们。您也可以使用浏览器访问服务器根目录localhost:8080并检查是否出现欢迎屏幕。

祝你好运!

于 2012-12-27T01:15:06.053 回答
8

我在 Windows 8 操作系统中遇到了同样的问题,我只是在运行 tomcat apache 的端口上添加了一个异常。

要向端口添加异常,请使用以下步骤

  1. 通过单击“开始”按钮“开始”按钮的图片,然后单击“控制面板”来打开 Windows 防火墙。在搜索框中,键入防火墙,然后单击 Windows 防火墙。

  2. 在左窗格中,单击高级设置。需要管理员权限 如果系统提示您输入管理员密码或确认,请键入密码或提供确认。

  3. 在具有高级安全性的 Windows 防火墙对话框中,在左窗格中单击入站规则,然后在右窗格中单击新建规则。

  4. 现在选择端口并单击下一步,现在在特定本地端口中输入您的端口或检查所有本地端口。

  5. 在接下来的两个面板上选择您的首选设置,最后一个给出您的入站规则。

于 2015-05-18T08:31:18.233 回答
5

只需在 Windows 机器上为 tomcat 启用防火墙端口即可。

转到 Windows 防火墙->高级设置->入站规则。

在右侧单击新规则->然后从对话框中选择端口,然后下一步->然后键入端口“8080”(默认情况下Tomcat在此端口上运行),然后下一步->然后选择“允许连接”->下一步- >给一个名字 - >完成。

于 2018-04-11T12:08:39.377 回答
0

您的朋友只能通过公共静态 IP 访问您的网站。

因此,您必须将应用程序托管在像 tomcat 这样的 servlet 容器上。然后要么

使您的 tomcat ip 与公共 ip 相同:如果您有控制面板或管理员控制,则可以这样做。

或者

在内部将请求从您的公共 ip 重定向到您的 tomcat ip/url。如果您的公共 IP 绑定到像 apache 这样的 Web 服务器,您可以这样做。

于 2012-12-26T06:46:39.787 回答
0

如果您使用的是 Windows 10,请允许 Tomcat 通过防火墙进行通信。

  1. 一种方法是控制面板->系统和安全-> Windows防火墙->“允许应用程序或功能通过Windows防火墙”->“更改设置”->为“Commons Daemon Service Runner”启用私有和公共(如果不存在) : "Allow another app..." -> 在 Tomcat bin 目录中选择 tomcat#.exe,其中 # 将是 tomcat 版本号)

  2. 为 javaw 添加防火墙例外。在 Windows 10 中,就是上述“更改设置”的步骤,然后是:查找带有 javaw 路径的 Java(TM) Platform SE 二进制文件(如果不存在,请按上述方式添加)-> 为其启用私有和公共。

于 2017-10-26T03:56:58.727 回答