[英]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.