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

Micronaut中使用HttpClient配置代理遇连接错误问题排查

Micronaut HttpClient代理配置解决连接拒绝问题

问题回顾

在公司需代理的WiFi环境下,Micronaut应用调用HTTPS外部API(api.weatherapi.com)时出现连接拒绝错误;无代理环境下请求正常,且添加-Dhttp.proxyHost=aproxy.XXX.net -Dhttp.proxyPort=8080参数的普通Java应用可正常请求。此前在application.yml中配置proxy-address后出现错误:Internal Server Error: Connect Error: type DIRECT is not compatible with address aproxy.XXX.net/:8080。

解决方案

方案1:使用JVM系统参数启动

直接给Micronaut应用添加JVM代理参数,注意同时覆盖HTTP和HTTPS协议(目标API为HTTPS):

-Dhttp.proxyHost=aproxy.XXX.net -Dhttp.proxyPort=8080 -Dhttps.proxyHost=aproxy.XXX.net -Dhttps.proxyPort=8080

这种方式和普通Java应用的配置逻辑一致,能快速解决问题。

方案2:通过application.yml正确配置

放弃proxy-address参数,改用完整的代理类型配置,明确指定代理类型为HTTP:

micronaut:
  http:
    client:
      proxy:
        type: HTTP
        host: aproxy.XXX.net
        port: 8080

如果代理服务器对HTTP和HTTPS使用不同的地址/端口,可以分别配置:

micronaut:
  http:
    client:
      proxy:
        type: HTTP
        http:
          host: aproxy.XXX.net
          port: 8080
        https:
          host: aproxy-https.XXX.net
          port: 8443

错误原因

之前使用proxy-address配置报错,是因为该参数仅适用于DIRECT代理类型(即无需代理,直接连接目标地址),而实际需要的是HTTP类型代理,两者类型不匹配,因此触发兼容性错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:03:18