本文介紹了無法遠程調試應用程序-無法從外部訪問端口的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我需要遠程調試我的應用程序,但由于以下錯誤,我無法執行此操作:
Unable to open debugger port (X.X.X.X:8000): java.net.ConnectException "Connection timed out: connect"
我有:
-
在遠程服務器上的Tomcat中運行的Java應用程序(Debian)
IntelliJ Idea在本地運行(Windows)
我得出的結論是,問題的原因是用于遠程調試的端口8000無法通過外部IP訪問,只能通過‘localhost’訪問。以下是我認為是這樣的原因:
遠程調試正在預期的端口上進行:
root@victor-app-server:/opt/tomcat-home/bin# netstat -tulpn | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3773/java
我能夠通過‘localhost’遠程登錄到它:
root@victor-app-server:/opt/tomcat-home/bin# telnet localhost 8000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
但無法通過外部IP遠程登錄:
root@victor-app-server:/opt/tomcat-home/bin# telnet X.X.X.X 8000
Trying X.X.X.X...
telnet: Unable to connect to remote host: Connection timed out
以下是ipables的輸出:
root@victor-app-server:/opt/tomcat-home/bin# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
如何使用8000端口解決此問題?或者我的主要問題可能有其他原因?
推薦答案
這是為我完成任務的命令:
sudo ufw allow <debug_port>
這篇關于無法遠程調試應用程序-無法從外部訪問端口的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,