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

在IntelliJ Idea中运行Spring Boot应用时启用Socks代理

无需修改代码配置Spring Boot应用的SOCKS代理

IntelliJ IDEA的Settings -> System Settings -> Http Proxy是给IDE自身使用的(比如下载依赖、插件),不会自动传递给运行的Spring Boot应用,这就是你遇到UnknownHostException的核心原因。以下是几种无需修改代码即可配置SOCKS代理的有效方式:

1. 使用JVM启动参数

直接在启动应用时添加SOCKS代理相关的JVM参数,这是最直接且可控的方式:

  • 基础无认证配置:
    -DsocksProxyHost=你的代理IP -DsocksProxyPort=代理端口 -DsocksProxyVersion=5
    
  • 需要认证的SOCKS代理配置:
    -DsocksProxyHost=你的代理IP -DsocksProxyPort=代理端口 -DsocksProxyUser=用户名 -DsocksProxyPassword=密码 -DsocksProxyVersion=5
    
  • 排除无需走代理的地址(比如本地服务、内部域名):
    -Dhttp.nonProxyHosts="localhost|127.0.0.1|*.your-internal-domain.com"
    
    注意:操作系统分隔符有差异,Windows用;,Linux/macOS用|。

2. 在IntelliJ运行配置中设置VM参数

配置一次后,后续运行/调试都会自动生效:

  • 打开Run -> Edit Configurations
  • 找到你的Spring Boot应用配置项
  • 在VM options输入框中添加上述JVM代理参数
  • 保存后启动应用即可

3. 通过系统环境变量配置

适合需要全局生效的场景(所有Java进程都会使用该代理):

  • 设置环境变量_JAVA_OPTIONS,内容为JVM代理参数:
    Linux/macOS终端执行:
    export _JAVA_OPTIONS="-DsocksProxyHost=你的代理IP -DsocksProxyPort=代理端口"
    
    Windows命令行执行:
    set _JAVA_OPTIONS="-DsocksProxyHost=你的代理IP -DsocksProxyPort=代理端口"
    
    注意:该方式会影响所有Java进程,若仅需当前应用生效,优先选择前两种方式。

排查UnknownHostException的额外提示

如果配置后仍报错,可检查以下几点:

  • 确认SOCKS代理服务正常运行,能正常访问目标API域名
  • 若使用SOCKS5代理,确保代理支持远程DNS解析(部分代理默认本地解析,若本地无法解析目标域名会报错)
  • 检查http.nonProxyHosts是否误包含了目标API域名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:10:26