问题阐述:
由于需要在Linux上进行项目的测试,将项目放在Linux服务上,通过地址和端口号进行连接,但会出现java.net.ConnectException: Connection timed out: connect 的错误。
如图:
尝试解决办法:
- Linux和Windows互ping一下。尝试能不能通,检查一下URL的地址是否正确
- 检查Linux项目是否启动,端口号是否正确;ps aux | grep java (查看进程) netstat -tlnp|grep 端口号(查看端口占用情况)
- 如果还是不可以,可以在项目的webapp下放置一个页面。Windows尝试是否可以访问。如果不能访问,就证明是Linux防火墙的原因,(表示就卡在这一步)
解决:
修改Linux防火墙:
cd /etc/sysconfig
vi iptables
添加 -A INPUT -m state --state NEW -m tcp --dport 项目端口号(或者80) -j ACCEPT
格式参考:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
重启防火墙 service iptables restart
尝试是否OK