【问题标题】:Maven tomcat7 plugin starts app but is not accessible remotelyMaven tomcat7插件启动应用程序但无法远程访问
【发布时间】:2017-05-22 00:13:35
【问题描述】:

我正在尝试使用 maven tomcat7 插件部署 Java 应用程序。

我跑了

mvn clean install tomcat7:run

而且成功了。但我无法远程访问应用程序。

这是日志的一部分:

[INFO] Running war on http://localhost:8080/cerberus

我尝试访问 IP:8080/cerberus,得到“没有找到该网址的网页”错误。

我怎样才能让它工作?提前谢谢你。

【问题讨论】:

    标签: java maven tomcat tomcat7 web-deployment


    【解决方案1】:

    您需要为外部网络请求打开端口 8080 才能访问它。

    如果您使用的是 Windows,您可以这样做:http://www.tomshardware.com/faq/id-3114787/open-firewall-ports-windows.html

    【讨论】:

    • 它应该已经打开了——因为我使用的是 DigitalOcean 的 ubuntu 虚拟机。我该如何检查?
    • 您必须再次检查您的端口是否已打开。看到这个:digitalocean.com/community/questions/cannot-open-port-8080
    • 它是开放的。如果我运行 python3 -m http.server 8080 它可以远程访问。
    【解决方案2】:

    我猜你的IP不是“外部ip”或者你的webapp没有部署成功。

    首先,您应该检查是否可以通过 ping

    从远程计算机获取成功

    然后,检查您是否可以访问本地主机上的 webapp 以及与服务器在同一局域网中的计算机。

    【讨论】:

    • 我知道 IP 是一个外部 IP,因为它是我用来 ssh 进入的一个。如果机器不是我的,我怎么知道它是否部署成功?它来自 DigitalOcean,我只是通过 ssh 登录。
    • 如果我访问 http:0.0.0.0/path,w3m 会返回该网站。所以它确实部署(到 0.0.0.0)
    • 你让我遇到了这种情况。您还可以使用 IP :8080/cerberus(not 0.0.0.0 or 127.0.0.1) by w3m 访问网站吗?
    • 在 ssh 内部还是外部?
    • 里面。 ssh 进入并使用 ip:8080/cerberus 再试一次
    【解决方案3】:

    答案是 ufw 是罪魁祸首。即使允许该端口通过它,它也不会让外部连接进入。我禁用它并改用 iptables。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 2015-11-02
      • 2023-03-29
      • 2012-12-15
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多