node.js - Nuxt 6.14.6 redirect-ssl 模块无法在 AWS 中运行

标签 node.js vue.js ssl nuxt.js vue-router

我正在尝试将 redirect-ssl Node 模块配置到 nuxt 应用程序中
引用:https://www.npmjs.com/package/redirect-ssl
但是当我在浏览器中加载站点时,它给了我消息错误-> 无法获取/
引用。 https://prnt.sc/xqsc05
站点在没有重定向模块的情况下使用 SSL。但我想强制将所有非 HTTP 请求重定向到 HTTPS。我尝试了 .htaccess 代码,但我认为 nuxt 不支持它。
终端没有错误。
尝试按照以下不同方式进入 nuxt.config.js。

serverMiddleware: ["redirect-ssl"],
在 server/index.js 文件中添加以下代码
const redirectSSL = require('redirect-ssl')

async function start () {
.
.
app.use(redirectSSL)
}
enter image description here
我们如何使用 .htaccess 文件进入 nuxt。我尝试放入 root 或 nuxt 项目设置,但这对我不起作用。
除了 build:publicPath 变量之外,任何人都知道如何将 CDN 实现到 nuxt 中。
请对使用 htaccess 的 redirect-ssl 模块或 nuxt 有任何帮助或建议吗?

最佳答案

试试下面的方法。
enter image description here
进入 server/index.js

const redirectSSL = require('redirect-ssl');
const fs = require("fs");
const path = require("path");
const https = require('https');
const express = require('express');
const consola = require('consola');
const { Nuxt, Builder } = require('nuxt');
const app = express()
const pkey = fs.readFileSync(path.resolve(__dirname,  'domain_ssl.com.key'));
const pcert = fs.readFileSync(path.resolve(__dirname, 'domain_ssl.com.crt'));

const httpsOptions = {
   key: pkey,
   cert: pcert
};

// Import and Set Nuxt.js options
const config = require('../nuxt.config.js')
config.dev = false
async function start () {

  // Init Nuxt.js
  const nuxt = new Nuxt(config)
  const { host, port } = nuxt.options.server

  await nuxt.ready()

  // Build only in dev mode
  if (config.dev) {
        const builder = new Builder(nuxt)
        await builder.build()
  }

  // nuxt render and middleware
  app.use(nuxt.render)
  app.use(redirectSSL.create({ redirectPort: 443 }))
  
  // Listen the server
  app.listen(port, host)
  consola.ready({
        message: `Server listening on http://${host}:${port}`,
        badge: true
  })
  
  https.createServer(httpsOptions,app).listen(443, host)
  consola.ready({
        message: `Server listening on https://${host}:${port}`,
        badge: true
  })
}

start()
以上一个用于强制 SSL 重定向。对于 CDN,请使用此步骤。
https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-build

关于node.js - Nuxt 6.14.6 redirect-ssl 模块无法在 AWS 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65919628/

相关文章:

javascript - 在 v-text-field 或 v-textarea vuetify Vue.js 中显示实时建议词

java - 在 Java 中通过 HTTP 代理创建 TLS 连接

rest - 强制 ASP .Net Web API 阻止错误 (403) 的 HTTP 请求

node.js - 使用hiredis作为node_redis

javascript - 在 JavaScript 中等待函数完成

vue.js - 在 Nuxt 中存储常量的最佳方法是什么?

javascript - 始终选择第一个值选择 vue.js

c# - ssl 照片问题

node.js - Grails 应用程序中的 Nodejs

json - 如何获取集合中的文档列表,直到 'cost' 字段的总和达到特定值(mongoDb)?