当前位置: 首页 > 面试题库 >

代理后面的npm失败,状态为403

东方旭东
2023-03-14
问题内容

我正在尝试在代理后面运行 npm 。我尝试过直接或通过 Authoxy 输入代理:

npm config set proxy http://localhost:8999
npm config set https-proxy http://localhost:8999

无论我使用哪种代理,在运行时我总是会遇到相同的错误npm search

npm info it worked if it ends with ok
npm verb cli [ 'node', '/usr/local/bin/npm', 'search' ]
npm info using npm@1.1.45
npm info using node@v0.8.4
npm verb config file /Users/xxx/.npmrc
npm verb config file /usr/local/etc/npmrc
npm verb config file /usr/local/lib/node_modules/npm/npmrc
npm WARN Building the local index for the first time, please be patient
npm verb url raw /-/all
npm verb url resolving [ 'https://registry.npmjs.org/', './-/all' ]
npm verb url resolved https://registry.npmjs.org/-/all
npm info retry registry request attempt 1 at 09:48:47
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 2 at 09:48:57
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 3 at 09:49:57
npm http GET https://registry.npmjs.org/-/all
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR!     at ClientRequest.onConnect (/usr/local/lib/node_modules/npm/node_modules/request/tunnel.js:148:19)
npm ERR!     at ClientRequest.g (events.js:185:14)
npm ERR!     at ClientRequest.EventEmitter.emit (events.js:115:20)
npm ERR!     at Socket.socketOnData (http.js:1383:11)
npm ERR!     at TCP.onread (net.js:410:27)

该命令始终以sutatusCode[sic!] 403 失败-
这表示未经授权。我已将Authoxy设置为不需要用户名/密码。当我绕过Authoxy并以http:// user:pass @
proxy:port的形式提供NTLM代理的真实代理凭据时,会发生相同的错误。

如何通过代理工作?

更新资料

我在NPM项目上创建了一个问题来报告此问题:https :
//github.com/isaacs/npm/issues/2866


问题答案:

是的,所以在发布问题后几分钟之内,我自己在这里找到了答案:https
:
//github.com/npm/npm/issues/2119#issuecomment-5321857

问题似乎是npm在代理上使用HTTPS并不是很好。将注册表URL从HTTPS更改为HTTP可以为我修复此问题:

npm config set registry http://registry.npmjs.org/

我仍然必须提供代理配置(在我的情况下通过Authoxy),但是现在一切正常。

似乎是一个常见问题,但没有充分记录。我希望这里的答案将使人们更容易找到是否遇到此问题。



 类似资料:
  • 我正在尝试进行查询-https://GRAPH.microsoft.com/v1.0/users/user.name@contoso.com/messages?$select=from,to recipients,ccRecipients,bccRecipients on GRAPH Explorer-https://developer.microsoft.com/en-us/GRAPH/grap

  • 这是我的同意模式 这是同意控制器获取声明 这是声明后的同意 同意html thymeleaf表单是 提交表格后。我得到这个错误 HTTP状态500-请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateProcessing异常:异常评估SpringEL表达式:"user.providers"(提供者/createOrUpdateConentForm 组织。spr

  • 这里有很多关于表单提交后如何正确保存Laravel中的复选框字段的问题(例如,示例,示例),这个问题与此无关。 请注意,我也很清楚Laravel的方法,并且它接受默认值。我的问题是关于似乎对复选框不起作用的特定情况。 我正在编辑表单,更新数据库中已有的数据。表单最初将填充DB中的值。 验证失败后重新填充表单输入的标准方法是使用。对于大多数输入类型,类似于以下内容的操作都有效: 在初始页面加载时(在

  • 问题内容: 是否可以在使用NTLM身份验证的HTTP代理后面运行?如果是,如何设置服务器的地址和端口,用户名和密码? 问题答案: 我通过以下方式解决了此问题(操作系统:Windows XP SP3): 1. 下载CNTLM安装程序并运行它。 2. 在cntlm.ini中找到并填写这些字段。 不要填写该字段,在文本文件中存储未加密的密码永远不是一个好主意。 3. 打开控制台,然后键入以下命令以生成密

  • 我们正在使用Nexus 3.0.1-01代理https://registry.npmjs.org/我们已经配置了一个组,其中包含对npmjs.org和本地托管的npm Repo的代理。在本地npm-config中,我们将npm指向我们的Nexus作为注册表。所有到internet的连接都通过我们的公司http代理。 当用Nexus解析“公共”依赖(例如通过)时,10次中有8次会失败。当我们指向官方

  • 尽管我使用了上一个sdk,但Huawei sign失败,状态代码为28。是什么导致了这个错误?