如何解决DigitalOcean Droplet - “无法获取 /”
问题(希望)很简单。我能够将我的 MERN 应用程序部署到 DigitalOcean 的应用程序平台并使其完整运行。问题是,App Platform 没有给我一个可以使用的静态 IP。所以我目前正在尝试部署到 DigitalOcean Droplet。设置很简单,一切都很顺利,直到我尝试访问我的应用程序并被“无法获取 /”消息(404 错误)打了一巴掌。这最初也发生在 App Platform 上,但是通过对我提供静态资产的方式进行了一些小的更改,问题得到了解决。使用 Droplet 时,我一生都无法弄清楚为什么我的路径不正确。我唯一的结论是,我误解了 Droplets 的设置方式与 App Platform 的设置方式的一些关键问题。
这是我为资产提供服务的代码:
if(process.env.NODE_ENV === 'production') {
app.use(express.static('client/build'));
app.get('*',(req,res) => {
res.sendFile(path.resolve(__dirname,'client','build','index.html'));
});
}
这是我的构建脚本:
"digitalocean-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
我已经通过 ssh 仔细检查了 NODE_ENV 变量的状态,它正确地读取为“生产”。我还通过 ssh 运行了构建脚本并验证了我尝试提供的路径是否存在。除非对 DigitalOcean Droplets 有一些奇怪的秘密规则,否则我没有想法。我在这方面比较新,所以我很感激任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。