上个公司经常有一种需求:有些服务部署在内网(内网无法访问互联网),但是同时又需要访问一些我们需要的第三方服务,最开始我们采用的方式是对每个需要访问的外网单独申请外网权限。如果项目的机房权限管理严格审批繁琐的话,这个流程会变得很长。
后来发现其实java的启动参数可以直接添加代理参数:
-Dhttp.proxyHost=172.20.6.4 -Dhttp.proxyPort=7777 -Dhttps.proxyHost=172.20.6.4 -Dhttps.proxyPort=7777 -Dhttp.nonProxyHosts="172.20.6.*" -Dhttps.nonProxyHosts="172.20.6.*"
这段的意思是http和https流量都经过 172.20.6.4 的 7777 端口代理出去,然后忽略 172.20.6.* 的地址,这个地址可以写多个。