2016-12-16 7 views
2

heroku 서버에서 실행되도록 Ghost (node.js 블로깅 앱)를 설정하려고합니다. 나는 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= 

여기 오류의 중요한 부분은 암호가 실패한다는 것 같습니다 : 로그를 보면, 나는 다음과 같은 스택 추적을 받고 있어요하지만 두 번했습니다과의 모든을 확인 배 heroku varibles가 올바르게 설정됩니다. 즉, 오타가 없으며 문자열의 시작 부분에 여분의 공백이 추가되지 않습니다.

또한 앱이 로컬에서 제대로 실행됩니다.

이 문제는 비교적 일반적으로 보입니다. 그러나 다른 게시물의 솔루션 대부분을 시도했지만 문제를 해결할 수있는 방법이 없습니다. 내가 해봤

솔루션 :

  • 검사 모두
  • 내가 아직 할 수있는 몇 가지 이유를 들어 (올바른 데이터베이스가 수동으로 원격 데이터베이스에 사용자 credendials를 추가
  • 을 촉진 검사 오타 varibles 명령 줄을 통해 원격 데이터베이스에 액세스하십시오.
  • 다음 명령을 실행하십시오. heroku config:set PGSSLMODE=require
  • URL에 https를 사용하고 있는지 확인하십시오. 나는 내가 프로덕션 환경

Sugguestions에있어 것을 나는 또한 확인했습니다 ssl: true

  • 내 config.js의 생산 환경에서 DB를 PARAMS에 다음을 추가 한
  • 브라우저를 통해 사이트가 나는 시도하지 않았다 :

    • 누군가는 노드를 업데이 트해야한다고 제안했다. 하지만 heroku가 사용하는 노드의 모든 버전을 업데이트하는 방법은 없습니다.
    • Somone은 포스트그레스를 업데이트해야한다고 제안했습니다. 그러나 나는 heroku 서버 중 하나를 업데이 트하는 방법을 볼 수 없습니다. 그러나 package.json 파일의 버전 번호를 4.1.1에서 4.5.5로 업데이트하고 optionalDependencies에서 종속성으로 이동했습니다.
    • 위해서는 pg_hba.conf 편집 - 다시, 나는이 파일이 Heroku가 서버에 존재하고 내가 그것을

    누구나 액세스 어떤 아이디어를 가지고 할 수없는 상상?

  • 답변

    1

    Ghost 버전 0.11.3으로 업그레이드하고 Heroku에 배포하는 동안 동일한 문제가 발생합니다.

    PostgreSQL npm 패키지를 업그레이드하여이 문제를 해결할 수있었습니다.

    package.json에서

    :

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

    그리고 당신은 또한 npm-shrinkwrap.json 파일을 수정해야합니다 :를 검토하여 PG의 NPM 패키지 버전이 올바르게 업데이트되었는지 확인, 그 후

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

    을 Heroku의 배포 로그. 다음과 같이 말해야합니다 :

    +0

    감사합니다. – cyberz

    +0

    죄송합니다. 오랫동안 답변을 수락했습니다. 하지만 네,이 작품! –