2016-12-16 3 views
2

Я пытаюсь настроить Ghost (приложение для ведения блога node.js) для запуска на сервере heroku. Я следил за this учебником, но при загрузке URL приложения я получаю ошибку приложения. Глядя на журналы, я получаю следующую трассировку стека:Ошибка аутентификации пароля для блога призраков на сервере heroku

2016-12-16T10:00:08.185701+00:00 heroku[web.1]: Starting process with command `NODE_ENV=production node index.js` 
2016-12-16T10:00:11.989635+00:00 app[web.1]: 
2016-12-16T10:00:11.989655+00:00 app[web.1]: ERROR: password authentication failed for user "xxxxxxxxxxxxxx" 
2016-12-16T10:00:11.989656+00:00 app[web.1]: error: password authentication failed for user "xxxxxxxxxxxxxx" 
2016-12-16T10:00:11.989656+00:00 app[web.1]: 
2016-12-16T10:00:11.989658+00:00 app[web.1]:  at Connection.parseMessage (/app/node_modules/pg/lib/connection.js:361:17) 
2016-12-16T10:00:11.989657+00:00 app[web.1]:  at Connection.parseE (/app/node_modules/pg/lib/connection.js:534:11) 
2016-12-16T10:00:11.989659+00:00 app[web.1]:  at TLSSocket.<anonymous> (/app/node_modules/pg/lib/connection.js:105:22) 
2016-12-16T10:00:11.989660+00:00 app[web.1]:  at emitOne (events.js:96:13) 
2016-12-16T10:00:11.989661+00:00 app[web.1]:  at readableAddChunk (_stream_readable.js:176:18) 
2016-12-16T10:00:11.989662+00:00 app[web.1]:  at TLSSocket.Readable.push (_stream_readable.js:134:10) 
2016-12-16T10:00:11.989660+00:00 app[web.1]:  at TLSSocket.emit (events.js:188:7) 
2016-12-16T10:00:11.989663+00:00 app[web.1]:  at TLSWrap.onread (net.js:548:20) 
2016-12-16T10:00:11.989664+00:00 app[web.1]: 
2016-12-16T10:00:12.059675+00:00 heroku[web.1]: Process exited with status 0 
2016-12-16T10:00:12.098899+00:00 heroku[web.1]: State changed from starting to crashed 
2016-12-16T10:00:11.574238+00:00 app[web.1]: WARNING: Ghost is attempting to use a direct method to send email. 
2016-12-16T10:00:11.574254+00:00 app[web.1]: It is recommended that you explicitly configure an email service. 
2016-12-16T10:00:11.575112+00:00 app[web.1]: Help and documentation can be found at http://support.ghost.org/mail. 
2016-12-16T10:00:11.575114+00:00 app[web.1]: 
2016-12-16T12:20:59.497399+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=ai-blog.herokuapp.com request_id=a725a350-ade1-4f00-9b8a-125fac34eb23 fwd="82.46.0.56" dyno= connect= service= status=503 bytes= 
2016-12-16T12:21:01.504908+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=ai-blog.herokuapp.com request_id=cc0c4f9b-f3af-4867-942f-0c7f295f9b90 fwd="82.46.0.56" dyno= connect= service= status=503 bytes= 
2016-12-16T12:21:03.381794+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=ai-blog.herokuapp.com request_id=ee190254-0159-4ba0-aa74-6e58f661c966 fwd="82.46.0.56" dyno= connect= service= status=503 bytes= 

кажется, что важная часть ошибки здесь является то, что пароль не удается: Но я имею двойной и три раза проверить все из varikles heroku установлены правильно, т. е. нет опечаток, добавлены дополнительные пробелы в начале строки.

Кроме того, приложение работает нормально локально.

Проблема кажется относительно распространенной, но я пробовал большинство решений из других сообщений, и ничто, кажется, не решает проблему.

Решения, которые я пробовал:

  • Проверено все varibles опечаток
  • Проверено правильная база данных способствует
  • добавления credendials пользователя вручную к удаленной базе данных (По некоторым причинам я все еще могу доступ к удаленной базе данных через командную строку)
  • Выполнение следующей команды heroku config:set PGSSLMODE=require
  • обеспечил, что я использую https в URL-адресе при подключении к сайт через браузер
  • я добавил следующее к БД Params в среде моего config.js ssl: true
  • Я также проверил, что я нахожусь в производственной среде

Sugguestions что Я не пробовал:

  • Кто-то предположил, что узел необходимо обновить. Но я не вижу никакого способа обновить любую версию узла, которую использует геройку.
  • Сомелий предположил, что postgres необходимо обновить. Но я не вижу никакого способа обновить это на серверах heroku. Однако я обновил номер версии в файле package.json с 4.1.1 до 4.5.5 и переместил ее из дополнительных зависимостей в зависимости.
  • редактирования pg_hba.conf - опять же, я полагаю, этот файл существует на Heroku серверах, и я не могу получить доступ к этому

Любой есть какие-нибудь идеи?

ответ

1

Я сталкиваюсь с той же проблемой при попытке перейти на версию Ghost версии 0.11.3 и перейти на Heroku.

Я смог решить проблему, обновив пакет npm PostgreSQL.

В package.json:

{ 
    "dependencies": { 
    "pg": "^4.5.5", 
    }, 
    "optionalDependencies": { 
    "pg": "^4.5.5" 
    } 
} 

И вам также нужно изменить npm-shrinkwrap.json файл:

{ 
    "dependencies": { 
    "pg": { 
     "version": "^4.5.5", 
     "from": "[email protected]", 
     "resolved": "https://registry.npmjs.org/pg/-/pg-4.5.5.tgz", 
     "dependencies": {...} 
    } 
    } 
} 

После этого, убедитесь, что PG НПМ версия пакета была обновлена ​​правильно взглянуть на Журнал развертывания Heroku. Он должен сказать что-то вроде:

remote: -----> Build succeeded! 
remote:  ├── ... 
remote:  ├── [email protected] 
remote:  ├── ... 
+0

Это сработало для меня, спасибо! – cyberz

+0

Извините, я так долго принимал ответ! Но да, это работает! –

Смежные вопросы