Webpack devserver代理到https时出现“尝试代理请求时发生错误”和SELF_SIGNED_CERT_IN_CHAIN。

4
尝试从本地主机设置代理到https站点时,出现以下错误:
[HPM] Error occurred while trying to proxy request /api/analytics/getDataByPage from localhost:8080 to https://example.com:19502 (SELF_SIGNED_CERT_IN_CHAIN) (https://nodejs.org/api/errors.html#errors_common_system_errors)
3个回答

6

我曾经也遇到过这个问题。我的API没有运行,因为我使用了太新的Node版本(18.*),将其更改为16.*就解决了。


这并没有真正回答问题。如果您有不同的问题,可以通过点击提问来提出。如果您想在此问题获得新的答案时得到通知,您可以关注此问题。一旦您拥有足够的声望,您还可以添加悬赏以吸引更多关注。- 来自审核 - manu
1
我曾经遇到过同样的错误,在网上搜索答案时,我找到了这个SO和其他一些网站,但都没有解决问题。我留下我的答案,以帮助处于同样位置的其他人。 - rabnif

5
遇到了同样的错误信息。对我来说,将"localhost"改为"127.0.0.1"后问题解决了。
"/api": {
    "target": "http://127.0.0.1:3456/",
    "secure": false
}

我在更新webpack 5.74.0 -> 5.82.0(包括webpack-cli 4.10.0 -> 5.1.0以及webpack-dev-server 4.9.3 -> 4.15.0)时遇到了相同的错误,原因是由于Kotlin 1.8 -> Kotlin 1.9的更新。 - vonox7
我觉得节点会尝试解析IPv4和IPv6,而IPv6会胜出,但你的后端只监听IPv4。我也遇到过这个问题... - undefined

3

加上secure: false解决了这个问题:

proxy: [
  {
    context: ["/api/**"],
    secure: false, // had an expression which was resolving to true
    changeOrigin: true,
  }
]

我的目标属性被搞砸了。原本是:'target':'http://localhost/:3000/', 应该是:'target': 'http://localhost:3000/', - kasper_341
2
对我来说,问题还没有解决。 - krutoo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接