Ошибка выброса приложения Heroku: самоподписанный сертификат - PullRequest
0 голосов
/ 30 мая 2020

Я использую бесплатный уровень heroku для развертывания приложения. Мне удалось создать приложение с успешной сборкой на heroku. Я нажал на heroku и попробовал heroku local, и приложение работает, как должно. Однако, если я попробую heroku open, браузер откроется на странице heroku «Ошибка приложения».

Я попытался запустить NODE_ENV=production heroku local в качестве шага по устранению неполадок, и это приводит к поломке приложения. Я получаю

Error: self signed certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1492:34)
at TLSSocket.emit (evens.js:315:20)
at TLSSocket._finishInit (_tls_wrap.js:935:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:693:12)

Репозиторий github находится здесь: https://github.com/JoeCastr/budget_app

Мой пакет. json:

{
  "name": "budget_app_project",
  "version": "1.0.0",
  "description": "",
  "main": "budget.js",
  "scripts": {
    "start": "npx nodemon budget.js",
    "heroku-postbuild": "npm install --production",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^6.8.0",
    "eslint-config-airbnb-base": "^14.1.0",
    "eslint-plugin-import": "^2.20.2",
    "nodemon": "^2.0.3"
  },
  "dependencies": {
    "bcrypt": "^4.0.1",
    "connect-loki": "^1.1.0",
    "dotenv": "^8.2.0",
    "express": "^4.17.1",
    "express-flash": "0.0.2",
    "express-session": "^1.17.1",
    "express-validator": "^6.5.0",
    "morgan": "^1.10.0",
    "pg": "^8.2.1",
    "pug": "^2.0.4"
  },
  "engines": {
    "node": "13.12.0",
    "npm": "6.14.4"
  }
}

1 Ответ

0 голосов
/ 01 июня 2020

Проблема в pg версии 8.x ломает героку. константа соединения должна быть:

const CONNECTION = {connectionString: process.env.DATABASE_URL, ssl: {rejectUnauthorized: false}}

...