我正在关注this tutorial/guide。在本地,它使用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仪表板,我已经以dashboard.example.com格式链接到提供的域名系统。
localhost和/或端口对Heroku不起作用,所以我不确定要把它改成什么才能起作用。我已经尝试将域名改为xxx.herokudns.com,端口改为process.env.PORT,域名改为我在Heroku中设置的自定义域名--但当我访问网址时,它们都会导致应用程序崩溃,状态为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应用程序呢?
发布于 2019-05-30 06:08:51
当你得到503的时候,你会检查你的Heroku日志吗?他们应该提供导致崩溃的具体信息。
域应该是dashboard.example.com,端口应该是process.env.PORT。更好的做法是,使用dotenv和.env文件在本地定义环境变量,并使用Heroku的“设置”选项卡在生产环境中设置环境变量(在本例中,每次启动应用程序时都已经为您设置了domain - port )。
https://stackoverflow.com/questions/56064075
复制相似问题