如何使用自定义SSL证书在生产环境中正确配置NUXT 3的HTTP? 我的软件包中有两个主要脚本。 “脚本”:{ ... “ dev:ssl”:“ cross-env node_tls_reject_unauthorised = 0 nuxt dev -h ... h ...

问题描述 投票:0回答:1
npm run dev:ssl

启动该应用时,我会遇到以下控制台输出:

npm run start:ssl

尽管如此,尽管该应用程序托管在HTTPS上,但它仍然默认为HTTP并将连接标记为不安全,从而阻止了对Web应用程序的访问。我已经证实了SSL证书和密钥有效。

要解决问题,我还尝试在Nuxt.config.ts文件中直接配置服务器,如下所示,但结果保持不变:
'Listening on http::\\[..]:$port'
我的问题:

如何正确配置我的NUXT 3应用程序以便在自定义主机地址上使用HTTPS? 这是我第一次为NUXT应用程序设置生产环境,因此我可能会缺少一些关键步骤。我将非常感谢在此设置中配置HTTP的任何指导或建议。

行为详细信息:

我正在使用有效的SSL证书(已确认)
dev:SSL脚本运作良好,但是在生产中出现了问题:SSL脚本。

NUXT应用需要在自定义IP地址上托管。 提前感谢您的帮助!

my版本的nuxt:v3.15 在开发模式下运行时,devServer.https.key和devserver.https.cert用于自动读取密钥和证书文件的内容。 密钥和证书的实际文本与devServer.port一起传递给https.server()。就像上面的Antonio Klepo的脚本定义一样,“主持人”选项为本地主机之外的连接打开了一个开发实例。

import fs from 'fs' export default defineNuxtConfig({ // ... server: { host: 'XX.XXX.X.XX', port: XXXX, https: { key: fs.readFileSync('correct_path_to_key.pem'), cert: fs.readFileSync('correct_path_to_cert.crt') } } // ... });
  • ,在生产构建中,DevServer对象被忽略。在我安装NUXT时,Nitro.mjs将https.server()调用并通过
  • 环境变量
  • nitro_ssl_key和nitro_ssl_key和https.server() nitro.mjs
  • export default defineNuxtConfig({ // ... devServer: { port: 443, https: { key: 'correct_path_to_key.pem', cert: 'correct_path_to_cert.crt' } }, // ... });
下面的开始脚本仅是一个示例,而不是对安全生产环境的建议。

在“ start”:下面的定义中,

命令替换
node.js ssl https nuxt3.js dev-to-production
1个回答
0
投票
tls.createsecurecontext([options])

..

.

//... import https, { Server } from 'node:https'; //... const cert = process.env.NITRO_SSL_CERT; const key = process.env.NITRO_SSL_KEY; const nitroApp = useNitroApp(); const server = cert && key ? new Server({ key, cert }, toNodeListener(nitroApp.h3App)) : new Server$1(toNodeListener(nitroApp.h3App));
如果仅将键和证书的文件名和路径传递给https.server(),则在我的安装上出现以下错误结果。

"scripts": { "dev": "nuxt dev --host", "build": "nuxt build", "start": "NITRO_SSL_CERT=$(cat correct_path_to_key.pem) NITRO_SSL_KEY=$(cat correct_path_to_cert.crt) PORT=443 HOST=0.0.0.0 node .output/server/index.mjs" }, 这个错误表明未检索键和证书,并且它们没有有效的

PEM格式。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.