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

如何使用Apache为npm audit配置本地代理(适配Nexus OSS v3场景)

配置前置准备
  • 确保Apache已启用proxy、proxy_http、rewrite三个核心模块,启用命令参考:
    • Debian/Ubuntu 系:a2enmod proxy proxy_http rewrite && systemctl restart apache2
    • CentOS/RHEL 系:编辑/etc/httpd/conf/httpd.conf,确保以下行未被注释,之后重启systemctl restart httpd
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
      LoadModule rewrite_module modules/mod_rewrite.so
      
虚拟主机配置示例

请将以下规则添加到你部署Nexus OSS v3对应的Apache虚拟主机配置块中,注意特定路径代理规则要放在通用Nexus代理规则之前,否则会被通用规则覆盖不生效

<VirtualHost *:80>
    ServerName 你的Nexus私有仓库域名
    
    # npm audit 请求专属转发规则
    ProxyPassMatch "^/-/npm/v1/security/audits(/.*)?" "https://registry.npmjs.org/-/npm/v1/security/audits/$1"
    ProxyPassReverse "^/-/npm/v1/security/audits(/.*)?" "https://registry.npmjs.org/-/npm/v1/security/audits/$1"
    
    # 原有Nexus通用代理规则
    ProxyPass / "http://你的Nexus内网地址:端口/"
    ProxyPassReverse / "http://你的Nexus内网地址:端口/"
    
    # 可选:推荐添加的请求头配置,方便后端日志溯源
    ProxyPreserveHost On
    RequestHeader set X-Forwarded-Proto "http"
    RequestHeader set X-Forwarded-Port "80"
    RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s"
</VirtualHost>

如果你用HTTPS部署Nexus,只需要将虚拟主机端口改为443,配置好SSL证书后,把X-Forwarded-Proto改为https、X-Forwarded-Port改为443即可,转发规则无需调整。

效果验证

配置重载生效后,在本地将npm源切换为你的私有Nexus仓库地址,执行npm audit命令,无404报错、正常返回安全扫描结果即为配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 17:00:01