簡體   English   中英

無法 GET / Node JS Amazon EC2 服務器問題

[英]Cannot GET / Node JS Amazon EC2 server issues

在我的 app.js 文件中

app.listen(process.env.PORT || 8080, () => console.log(`Listening on port ${process.env.PORT || 8080}!`));

在我的 webpack.config.js 文件中

devServer: {
   port: 3000,
   open: true,
   proxy: {
     '/api': 'http://localhost:8080'
   }
}

在我的 EC2 實例上的 /etc/nginx/sites-enabled/default 中

server {
  listen       80;
  server_name  _;

  location / {
    proxy_pass http://[private ip]: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;
  }
}

編輯:完整的 app.js 文件

const app = express();
app.use(cors());
app.use(express.static('dist'));
app.listen(process.env.PORT || 8080, () => console.log(`Listening on port ${process.env.PORT || 8080}!`));

app.post('/api/[route]', async (req, res, next) => {
  try {
    const seq = await sequelize();
    const file = await [...];
  } catch (err) {
    return next(err);
  }
});

正確的配置是

server {
  listen       80;
  server_name  _;

  location / {
    proxy_pass http://localhost: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;
  }
}

我相信我一開始就錯誤地安裝了 pm2,因為 nginx 服務器和 pm2 都試圖監聽端口 80。所以我重新安裝了所有東西,瞧,它現在可以工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM