使用Eclipse远程调试(非本地)Tomcat。从远程机器连接被拒绝。

3
我已经在远程机器上(非localhost)使用jpda选项启动了tomcat。 我无法访问该端口,它会抛出连接被拒绝的错误。但我在localhost上成功执行。那么为什么不能在远程机器上执行呢?我使用的是Tomcat 9.X和Ubuntu 16.04以及Java 8。
编辑1: JDWP端口8000仅侦听127.0.0.1。能否更改此设置? enter image description here

测试TCP端口:按照以下步骤使用telnet测试TCP连接打开命令提示符 使用以下语法: telnet <目标IP> <端口号> 是否有效? - pwain
telnet:无法连接到远程主机:连接被拒绝 - Santhosh Tpixler
我还允许了UFW中的8000端口。netstat显示该端口被Java应用程序使用。我能够访问该应用程序。 - Santhosh Tpixler
你能否检查一下这个链接:https://www.eclipse.org/jetty/documentation/9.4.x/enable-remote-debugging.html。对我来说看起来很有用。 - pwain
1个回答

11

最终,我找到了问题所在。默认情况下,Catalina.sh(Tomcat脚本)仅绑定到本地主机。如果您想从另一台机器访问,则需要进行以下设置:

export JPDA_ADDRESS=0.0.0.0:8000
sh catalina.sh jpda start

0.0.0.0允许从所有接口连接。您也可以配置为只允许一个IP连接。

另一个可行的解决方案是从远程机器到调试器机器进行SSH隧道连接。

ssh -L 8000:localhost:8000 user@remotemachine

如果你仍然遇到任何问题,那么请检查防火墙。在ubuntu中,你可以使用UFW(非常简单的防火墙)来完成此操作。

sudo ufw enable
sudo ufw allow 8000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接