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

Nexus代理Docker Hub:4045端口仅本地可访问,外部无法连接

Nexus Docker代理仓库外部无法访问问题排查

现象总结

  • Nexus已成功代理Maven、NuGet仓库
  • 新增Docker代理仓库并启用4045端口HTTP连接器,已关闭服务器防火墙
  • 本地执行curl http://localhost:4045/v2/返回如下未授权响应(说明本地端口监听正常):

    {"errors":[{"code":"UNAUTHORIZED","message":"access to the requested resource is not authorized","detail":null}]}

  • 执行curl http://xxx.yyy.zzz.kkk:4045/v2/(服务器IP)时超时,外部无法访问该端口

排查与解决步骤

1. 调整Nexus全局监听地址

Nexus默认仅绑定127.0.0.1,导致外部无法访问。操作如下:

  • 打开Nexus安装目录下的etc/nexus-default.properties文件
  • 修改application-host配置为0.0.0.0(允许所有IP地址访问)
  • 重启Nexus服务

2. 确认端口监听状态

在服务器上执行命令,检查4045端口是否绑定到所有IP:

netstat -tulpn | grep 4045
# 或使用ss命令
ss -tulpn | grep 4045

若输出显示127.0.0.1:4045,说明端口仅本地监听,需调整上述全局监听地址或Docker连接器的绑定地址。

3. 检查Docker连接器配置

结合你的配置截图,需确认:

  • 连接器的绑定地址设置为0.0.0.0(而非127.0.0.1)
  • 4045端口未被其他进程占用(可通过上述netstat/ss命令排查)

4. 验证网络安全规则

即使关闭服务器防火墙,仍需确认:

  • 若为云服务器,检查云服务商的安全组是否开放4045端口的入站规则
  • 测试时使用的服务器IP是否与网络环境匹配(公网IP对应公网访问,内网IP对应内网访问)

5. 关于UNAUTHORIZED响应的说明

本地返回的未授权响应是正常现象:Nexus Docker仓库默认要求认证访问,可通过以下步骤解决:

  • 在Nexus中创建拥有该Docker仓库权限的用户
  • 执行docker login xxx.yyy.zzz.kkk:4045完成登录后,即可正常访问仓库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:32:34