从文物中安装范围内的NPM软件包



我试图使范围内的NPM软件包与Apache后面的伪像一起使用。我可以将范围发布给文物,并在NPM-Local回购中创建以下路径:@scopename/packagename/-/@scopename/packagename-version.tgz

尝试安装此软件包时会出现问题。我得到了404 Not Found: @scopename/packagename。查看调试日志,我可以看到它可能与斜线的编码有关:

22 http request GET https://artifacts.company.com/artifactory/api/npm/npm-local/@scopename%2fpackagename
23 http 404 https://artifacts.company.com/artifactory/api/npm/npm-local/@scopename%2fpackagename

我遵循在线文档。我将 AllowEncodedSlashes NoDecode添加到虚拟主机和 org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true中。

我想念什么吗?

这看起来像是反向代理问题。检查您的request.log。如果请求是作为/api/npm/npm-group/@angular/core而不是/api/npm/npm-group/@angular%2Fcore,则需要在您的反向代理中解决。

您必须更改两件事:

  1. 实现设置org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH = true
  2. /etc/nginx/conf.d/default.conf中的proxy_pass变量中删除上下文根

相关内容

  • 没有找到相关文章

最新更新