webpack devserver 代理到 https,给出“尝试代理请求时发生错误”和 SELF_SIGNED_CERT_IN_CHAIN

问题描述 投票:0回答: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)
webpack
4个回答
6
投票

我也有同样的问题。 我的 API 没有运行,因为我使用的 Node 版本太新 (18.*),更改为 16.* 修复了它。


6
投票

有同样的错误消息。对我来说,它通过将“localhost”更改为“127.0.0.1”来工作。

"/api": {
    "target": "http://127.0.0.1:3456/",
    "secure": false
}

4
投票

设置,

secure: false
解决了问题:

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

0
投票

我在开发模式下运行 Angular 17 应用程序时遇到了同样的情况。 Webpack 开发服务器抛出此 HPM 错误:

[webpack-dev-server] [HPM] Error occurred while proxying request localhost:4200/api/v1/accounts/login/ to https://your.url.net/ [CERT_HAS_EXPIRED] (https://nodejs.org/api/errors.html#errors_common_system_errors)

设置

secure: false
可以帮助你的开发服务器,就我而言; webpack 绕过 SSL 证书验证过程,如下所示。

src/proxy.conf.json

{
  "/api": {
    "target": "https://your.url.net/",
    "secure": false, // Initially set to true for strict SSL validation
    "changeOrigin": true
  }
}

PS:这仅适用于本地开发且有用,出于安全原因,在生产中拥有有效的 SSL 证书非常重要。

© www.soinside.com 2019 - 2024. All rights reserved.