无法访问 Heroku 上的 Web 服务器
Unable to access web server on Heroku
我正在关注 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 仪表板,我已经将其链接到所提供的 DNS,格式为 dashboard.example.com
.
localhost
and/or 该端口不适用于 Heroku,因此我不确定要将其更改为什么才能使其正常工作。我已经尝试将域更改为 xxx.herokudns.com
,将端口更改为 process.env.PORT
,将域更改为我在 Heroku 中设置的自定义域 - 但它们都会导致应用程序崩溃,状态为 503
当我访问 URL。
据我所知,这些代码中使用了配置域和端口:
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 的 "Settings" 选项卡在生产环境中设置环境变量(在这种情况下,只需 domain
– port
已在每次应用启动时为您设置)。
我正在关注 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 仪表板,我已经将其链接到所提供的 DNS,格式为 dashboard.example.com
.
localhost
and/or 该端口不适用于 Heroku,因此我不确定要将其更改为什么才能使其正常工作。我已经尝试将域更改为 xxx.herokudns.com
,将端口更改为 process.env.PORT
,将域更改为我在 Heroku 中设置的自定义域 - 但它们都会导致应用程序崩溃,状态为 503
当我访问 URL。
据我所知,这些代码中使用了配置域和端口:
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 的 "Settings" 选项卡在生产环境中设置环境变量(在这种情况下,只需 domain
– port
已在每次应用启动时为您设置)。