簡體   English   中英

無法訪問Heroku上的Web服務器

[英]Unable to access web server on Heroku

我正在遵循本教程/指南 在本地,它可以工作,使用localhost作為域,並使用8080作為端口。

這是本地配置:

"dashboard" : {
    "oauthSecret": `${process.env.oauthSecret}`,
    "callbackURL": `http://localhost:8080/callback`,
    "sessionSecret": "fakesessionsecret",
    "domain": "localhost",
    "port": 8080
  },

但是現在,我想在Heroku上使用該應用程序,並通過https://project-name.herokuapp.com或通過自定義域訪問Web儀表板,我已經將其鏈接到提供的DNS,格式為dashboard.example.com

localhost和/或端口不適用於Heroku,因此我不確定將其更改為什么才能正常工作。 我已經嘗試將域更改為xxx.herokudns.com ,將端口更改為process.env.PORT ,將域更改為我在Heroku中設置的自定義域名-但是當我訪問該URL時,它們都會導致應用崩潰,狀態為503

從我所看到的,這些代碼中使用了配置域和端口:

const express = require("express");
const app = express();
const passport = require("passport");

passport.use(new Strategy({
    clientID: client.appInfo.id,
    clientSecret: config.dashboard.oauthSecret, //from configuration
    callbackURL: config.dashboard.callbackURL, //from configuration
    scope: ["identify", "guilds"]
  }
...
app.locals.domain = config.dashboard.domain;
...
app.listen(client.config.dashboard.port);

那么,如何從Heroku訪問Web應用程序呢?

收到503時,您是否正在檢查Heroku日志? 他們應提供有關導致崩潰的原因的特定信息。

域應為dashboard.example.com ,端口應為process.env.PORT 更好的是,使用dotenv和.env文件在本地定義環境變量,並使用Heroku的“設置”標簽在生產環境中設置環境變量(在這種情況下,僅domain –每次應用啟動時都已為您設置了port ) 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM