Min*_*Yến 2 self-signed nuxt.js vuejs3 nuxtjs3
我的后端(API 端点)正在 https://localhost:44308/api 上运行。在这种情况下,Nuxt3.js 会给出以下错误:
request to https://localhost:44308/api/menus failed, reason: self signed certificate ()
at async $fetchRaw2 (/C:/D/MyApp/Source/WebUser/app/node_modules/ohmyfetch/dist/chunks/fetch.mjs:131:20)
at async Proxy.fetchData (/C:/D/MyApp/Source/WebUser/app/.nuxt/dist/server/server.mjs:52133:22)
at async setup (/C:/D/MyApp/Source/WebUser/app/.nuxt/dist/server/server.mjs:68832:5)
Run Code Online (Sandbox Code Playgroud)
我的代码:
async fetchData() {
const config = useRuntimeConfig();
const result = await $fetch(`${config.apiBase}/menus`, {
headers: {
"Content-Type": "application/json",
"Accept-Language": "en",
// Authorization: `Bearer ${useRuntimeConfig().apiSecret}`,
},
});
console.log(result);
return result;
}
Run Code Online (Sandbox Code Playgroud)
解决这个问题的办法是什么?我看到建议运行 Nuxt3.js 的线程。请有人帮助我。非常感谢
它抛出该错误是因为 localhost API 仅位于自签名证书后面,对于生产始终使用真正的授权证书。
要在开发中测试自签名证书时使用自签名证书,您可以执行以下操作。
如果您还没有 .env 文件,请在 nuxt3 根目录中创建一个 .env 文件。然后添加以下行:
NODE_TLS_REJECT_UNAUTHORIZED = 0
Run Code Online (Sandbox Code Playgroud)
然后运行
npm run dev
Run Code Online (Sandbox Code Playgroud)
开发服务器将向 API 发出请求,并忽略其自签名证书未经授权的事实。
用于在 API 具有自签名证书时在开发计算机上测试构建,运行后
npm run build
Run Code Online (Sandbox Code Playgroud)
然后启动服务器:
NODE_TLS_REJECT_UNAUTHORIZED='0' node .output/server/index.mjs
Run Code Online (Sandbox Code Playgroud)
API 请求现在也可以在内置版本中运行,但每个请求都会抛出以下提醒警告:
警告:将 NODE_TLS_REJECT_UNAUTHORIZED 环境变量设置为“0”会禁用证书验证,从而使 TLS 连接和 HTTPS 请求变得不安全。
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |