You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

公司代理环境下本地Apache Tomcat无法访问互联网问题求助

Magnolia CMS本地Tomcat代理失效排查方案
  • 补全JVM代理配置
    你当前仅配置了HTTPS协议的代理参数,需补全全协议配置,同时添加本地地址免代理规则,避免内网、本地请求被代理拦截。完整配置参考如下:
    set "JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128"
    set "JAVA_OPTS=%JAVA_OPTS% -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3128"
    set "JAVA_OPTS=%JAVA_OPTS% -Dftp.proxyHost=127.0.0.1 -Dftp.proxyPort=3128"
    set "JAVA_OPTS=%JAVA_OPTS% -Dhttp.nonProxyHosts=localhost|127.*|[::1]|*.公司内部域名.com"
    
    配置完成后可在代码中添加临时日志打印System.getProperty("http.proxyHost")等参数,确认JVM启动后参数未被覆盖。
  • 检查Magnolia CMS独立代理配置
    Magnolia自带的HTTP客户端默认不会读取JVM系统代理参数,需要单独配置:
    1. 可直接修改项目中的magnolia.properties配置文件,添加如下参数:
    magnolia.http.proxy.host=127.0.0.1
    magnolia.http.proxy.port=3128
    magnolia.https.proxy.host=127.0.0.1
    magnolia.https.proxy.port=3128
    magnolia.http.proxy.exceptions=localhost,127.0.0.1,*.公司内部域名.com
    
    1. 也可登录Magnolia管理后台,在「配置」-「server」节点下修改代理相关配置项。
  • 分层验证代理连通性
    先确认CNTLM代理本身可用:在本地CMD执行curl -x 127.0.0.1:3128 https://www.baidu.com验证返回正常。
    再在项目中添加临时测试接口,分别用两种方式发起对外请求:
    1. 用JDK原生HttpURLConnection发起请求,验证JVM代理配置是否生效
    2. 调用Magnolia自带的HTTP请求工具类发起请求,验证CMS层面代理配置是否生效
  • 排查系统层面访问限制
    检查Windows Defender防火墙、公司终端安全软件的出站规则,确认java.exe、tomcat9.exe进程未被禁止访问网络,也未被限制走本地代理端口。
  • 确认Tomcat启动参数未被覆盖
    若你通过IntelliJ启动Tomcat,需检查运行配置中的「VM options」是否存在冲突参数,同时在catalina.bat开头添加echo %JAVA_OPTS%,启动时查看控制台输出的参数是否包含你配置的代理项,避免IntelliJ启动时覆盖了环境变量配置。

内容的提问来源于stack exchange,提问作者Wirsing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:06:03