Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.1K
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!