温馨提示×

centos怎么配置java代理

小樊
48
2026-09-29 22:02:02
栏目: 编程语言

在 CentOS 上“配置 Java 代理”通常有两种常见场景,我先分别说明,你按需对号入座:


一、为 Java 程序配置 HTTP / HTTPS 代理(最常见)

1️⃣ 通过 JVM 参数配置(推荐)

在启动 Java 程序时加参数:

java \
-Dhttp.proxyHost=proxy.example.com \
-Dhttp.proxyPort=8080 \
-Dhttps.proxyHost=proxy.example.com \
-Dhttps.proxyPort=8080 \
-jar yourapp.jar

如果是 需要认证 的代理:

-Dhttp.proxyUser=username \
-Dhttp.proxyPassword=password

⚠️ 明文密码不安全,生产环境建议用代码或配置文件处理。


2️⃣ 忽略某些地址(不走代理)

-Dhttp.nonProxyHosts="localhost|127.0.0.1|*.example.com"

3️⃣ 在环境变量中配置(部分程序支持)

export JAVA_OPTS="-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080"

或在 ~/.bashrc 中写入后:

source ~/.bashrc

二、为整个 CentOS 系统配置代理(Java 也会继承)

1️⃣ 设置系统代理环境变量

vim /etc/profile

添加:

export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export no_proxy=localhost,127.0.0.1

生效:

source /etc/profile

✅ Java 的 URLConnection 默认会读取这些变量(部分库如 Apache HttpClient 不一定)。


三、在 Java 代码中配置代理(开发场景)

System.setProperty("http.proxyHost", "proxy.example.com");
System.setProperty("http.proxyPort", "8080");

或:

Proxy proxy = new Proxy(Proxy.Type.HTTP,
        new InetSocketAddress("proxy.example.com", 8080));
URLConnection conn = url.openConnection(proxy);

四、验证代理是否生效

curl -x http://proxy.example.com:8080 https://www.google.com

或 Java 程序打印:

System.out.println(System.getProperty("http.proxyHost"));

五、常见问题

❓ CentOS 7 / 8 有区别吗?
没有,Java 代理配置与系统版本无关。

❓ Docker 中的 Java 怎么配?
在 Dockerfile 或 docker run -e 中设置 JVM 参数。


如果你能说明:

  • 是 系统代理 还是 Java 应用代理
  • 是否 需要账号认证
  • 用在 Spring / Tomcat / 普通 jar

我可以直接给你一份可复制的配置。

0 踩