当我尝试访问我的 MERN 应用程序的根路径 ("/") 时,会发生此错误。虽然在本地机器上访问这个路径工作正常,但我得到了 React 应用程序。 React 应用程序使用 3000 端口,但服务器使用 8080。我使用这个样板构建了我的应用程序:https://github.com/crsandeep/simple-react-full-stack/ (只需更改“client”、“server”和“public”目录中的文件,并更改“webpack.config.js”中客户端的路径)
我还尝试用路由器(在客户端的“index.js”中)覆盖我应用程序的主要组件,如下所示:
<Router>
<Route exact path="/" component={MessageBoard} />
</Router>
但我仍然得到错误。什么问题?
UPD:server.js 的内容是:
const express = require("express");
const logger = require("morgan");
const API_PORT = process.env.PORT || 8080;
const app = express();
const router = require('./routers/board');
app.use(logger("dev"));
app.use('/api', router);
app.listen(API_PORT, () => {
console.log(`LISTENING ON PORT ${API_PORT}`)
});
UPD 1:“/etc/nginx/sites-available/default”的内容:
server {
listen 80;
server_name ec2-18-222-203-253.us-east-2.compute.amazonaws.com www.ec2-18-222-203-253.us-east-2$
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
最佳答案
看起来您的应用没有监听“/”路径...
您监听的唯一路径是“/api”并使用路由器。
如果你想得到'/',试着听'/'
app.get('/',(req,res)=>{
//do something
});
或者,我注意到在您的代表中,有一个 app.use(express.static('dist'));
,如果您使用react,也许您应该检查“dist”的路径应用程序或其他东西在“dist”文件夹中。
关于javascript - AWS "Cannot GET/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118195/