我在Heroku中设置了一个自定义域,效果很好。 我可以使用我的应用名称和自定义域来访问我的网站。 我可以使用标准的Heroku URL访问路由,但不能使用自定义域。
例如:
https://{myappname}.herokuapp.com
https://{myappname}.herokuapp.com/callback
https://{customdomain}.com
https://{customdomain}.com/callback
const express = require("express");
const path = require("path");;
const callback = require("./callback");
const app = express();
// Body parser middleware
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// Serve static assets if in production
if (process.env.NODE_ENV === "production") {
app.use("/callback", callback);
// Set static folder
app.use(express.static("client/build"));
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
});
}
// Init server/port
const port = process.env.PORT || 5000;
app.listen(port, () => console.log(`Server running on port ${port}`));
答案 0 :(得分:2)
我知道为时已晚,但我是为将来遇到此问题的人而写的。
我也遇到了这个问题并通过这个解决了。
https://{customdomain}.com/callback
https://www.{customdomain}.com/callback
答案 1 :(得分:0)
我发现这很简单,而且我很愚蠢,但是如果有人遇到相同的问题,我会在这里回答。
我有一个称为Callback的React路由/组件。这个React组件正在调用Node.js路由(也称为回调),该路由处理信息,然后重定向到新的React路由/组件。
简单的解决方法是将我的React路由/组件更改为callbackPage,而将Node.js路由保留为Callback。
因此,总而言之,我有一个与服务器API路由同名的网页URL。当我访问此页面时,没有运行页面,而是运行了API路由,并且基本上什么也不做并且超时。我仍然对为什么它可以与我的应用程序URL而不与我的自定义域一起使用感到困惑。