Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.1K
Visualizações
¿Cómo resuelvo el error "Middleware "strapi::session": se requieren claves de aplicación" en mi implementación de Strapi en Heroku?

Estoy siguiendo las instrucciones oficiales para implementar mi aplicación de inicio strapi en Heroku. La aplicación funciona bien localmente. Lo único que omití en mis instrucciones de implementación fue instalar el módulo de nodo PG (ya está instalado porque mi aplicación local usa Postgresql).

Al acceder a los registros de Heroku, veo esto:

 error: Middleware "strapi::session": App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])

Tal vez este es un detalle importante: seguí este proceso una vez y todo funcionó. Pude desplegarme en Heroku. Lo intenté de nuevo y no funcionó. Estaba pensando que tal vez Heroku tenía un problema conmigo al reutilizar el nombre de una aplicación, pero traté de nombrar la aplicación con algo diferente en Heroku y todavía tenía el mismo error.

¿Heroku está buscando en el lugar equivocado mi archivo server.js? ¿Debería estar buscando en mi carpeta "./config/env/production" en lugar de mi carpeta "./config"?

Según las instrucciones, aquí está mi ./config/env/production/database.js

 const parse = require('pg-connection-string').parse; const config = parse(process.env.DATABASE_URL); module.exports = ({ env }) => ({ connection: { client: 'postgres', connection: { host: config.host, port: config.port, database: config.database, user: config.user, password: config.password, ssl: { rejectUnauthorized: false }, }, debug: false, }, });

Aquí está mi ./config/env/production/server.js

 module.exports = ({ env }) => ({ url: env('MY_HEROKU_URL'), });

Y aquí está mi ./config/server.js

 module.exports = ({ env }) => ({ host: env('HOST', '0.0.0.0'), port: env.int('PORT', 1337), app: { keys: env.array('APP_KEYS'), }, });

mi paquete.json por si acaso:

 { "dependencies": { "@strapi/plugin-graphql": "^4.0.0", "@strapi/plugin-i18n": "4.0.6", "@strapi/plugin-users-permissions": "4.0.6", "@strapi/strapi": "4.0.6", "lodash.set": "^4.3.2", "pg": "8.6.0", "pg-connection-string": "^2.5.0" }, "name": "backend", "private": true, "version": "0.1.0", "description": "A Strapi application", "scripts": { "develop": "strapi develop", "start": "strapi start", "build": "strapi build", "strapi": "strapi" }, "devDependencies": {}, "author": { "name": "A Strapi developer" }, "strapi": { "uuid": "f64b509e-2d95-4464-8d39-d6f0d1c7a31a", "template": "@strapi/template-corporate@^1.0.0", "starter": "@strapi/starter-next-corporate" }, "engines": { "node": ">=12.xx <=16.xx", "npm": ">=6.0.0" }, "license": "MIT" }

Estoy ejecutando Node v14.18.3 y NPM v6.14.15

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

En Heroku, para esa aplicación en particular, navegue a Configuración-> Vars de configuración y agregue sus variables de entorno allí.

over 4 years ago · Santiago Trujillo Relatório

0

Lo resolví con esto en ./config/env/production/server.js

 module.exports = ({ env }) => ({ url: env("MY_HEROKU_URL"), proxy: true, app: { keys: env.array("APP_KEYS", ["testKey1", "testKey2"]), }, });

testKey1, testKey2 son solo marcadores de posición y deben reemplazarse por 2 claves aleatorias a través de CONFIG VAR en heroku

 APP_KEYS=someSecret,anotherSecret

proxy: true también era importante. De lo contrario, arroja un Cannot send secure cookie over unencrypted connection

over 4 years ago · Santiago Trujillo Relatório

0

simplemente cree un archivo .env en la raíz de su proyecto de esta manera:

 HOST=0.0.0.0 PORT=1337 APP_KEYS=jP8pb1lYsAhnmURarewxhA==,34xnLMYHY5jiU7ONTstTqQ==
over 4 years ago · Santiago Trujillo Relatório

0

Por lo tanto, solo necesita crear una variable en la configuración de Heroku->config vars llamada APP_KEYS . Y el valor de esta variable puede obtenerse de su archivo .env donde debe tener la variable APP_KEYS con valor.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda