尝试设置从本地主机到 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)
我也有同样的问题。 我的 API 没有运行,因为我使用的 Node 版本太新 (18.*),更改为 16.* 修复了它。
有同样的错误消息。对我来说,它通过将“localhost”更改为“127.0.0.1”来工作。
"/api": {
"target": "http://127.0.0.1:3456/",
"secure": false
}
设置,
secure: false
解决了问题:
proxy: [
{
context: ["/api/**"],
secure: false, // had an expression which was resolving to true
changeOrigin: true,
}
]
我在开发模式下运行 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 证书非常重要。