一、 tomcat远程调试
1、修改tomcat的catalina.sh文件;
JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/shanghai -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
2、启动tomcat;
3、eclipse连接远程端口;
4、选择debug
5、再打代码断点; 任何浏览器的有请求访问到代码,都会被挂住;
二、tomcat请求转发(适用部分机器无法访问外网的机器,通过指定代理机器进行转发)
在catalinca.sh里设置下java虚拟机启动时的参数。
JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask` -Dhttp.proxySet=true -Dhttp.proxyHost=10.11.10.26 -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=mysql\|misrobot-web-node\|misrobot-edms\|platform"
主要问题是,如果走代理,容器内部流量会出问题。 就要再设置一个nonproxy,让指定的域名不代理;
http.proxySet=True 启动http代理(https同理)
http.proxyHost=x.x.x.x http代理地址
http.proxyPort=xx http代理端口
http.nonProxyHosts=<x|x|x|x> 不走代理的域名,可使用通配符*