Elastic Beanstalk问题:运行my Node.js Express服务器时连接超时

Elastic Beanstalk问题:运行my Node.js Express服务器时连接超时,node.js,reactjs,amazon-web-services,express,amazon-elastic-beanstalk,Node.js,Reactjs,Amazon Web Services,Express,Amazon Elastic Beanstalk,我正试图在Elastic Beanstalk上部署我的MERN应用程序,我似乎遇到了最后一个我无法解决的问题 在本地运行我的服务器(运行节点服务器)时,我的应用程序可以正常工作,但在elastic beanstalk上运行时,页面永远不会加载 检查后,静态元件未加载,如开发工具中所示: 我检查了所有EB日志,没有发现任何错误或有用的消息。 我认为问题在于EB无法以某种方式找到我的静态文件。但是,git不会忽略我的构建文件,并将其部署到EB 以下是我的项目的一些背景: 我的后端和客户端代码位于一

我正试图在Elastic Beanstalk上部署我的MERN应用程序,我似乎遇到了最后一个我无法解决的问题

在本地运行我的服务器(运行节点服务器)时,我的应用程序可以正常工作,但在elastic beanstalk上运行时,页面永远不会加载

检查后,静态元件未加载,如开发工具中所示:

我检查了所有EB日志,没有发现任何错误或有用的消息。 我认为问题在于EB无法以某种方式找到我的静态文件。但是,git不会忽略我的构建文件,并将其部署到EB

以下是我的项目的一些背景: 我的后端和客户端代码位于一个项目中,结构如下:

  • 计划
    • server.js
    • 前端
      • 建造
        • 静止的
        • index.html
我通过构建react站点来运行我的应用程序,然后运行运行非常好的“节点服务器”

以下是my server.js中的相关代码:

const port = process.env.PORT || 8081;

app.use(express.static(path.join(__dirname, 'frontend/build')));

app.get('/*', function (req, res) {
    res.sendFile(path.join(__dirname, 'frontend/build/index.html'));
});

app.listen(port, () => {
    console.log(`Server is running on port: ${port}`);
});
服务器正在成功发送服务器正在运行且数据库已建立连接的日志。看来服务器还不错,只是前端出了问题

eb配置文件:

option_settings:
  aws:elasticbeanstalk:container:nodejs:
    NodeCommand: "npm start"
  aws:elasticbeanstalk:application:environment:
    PORT: 8081
    NODE_ENV: production
  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /static: /frontend/build/static
我不知道如何解决这个问题。EB是通过CLI部署的,我没有弄乱任何设置。我让EB知道我的静态文件在哪里,我相信它会说找不到,而不是超时

如有任何帮助,将不胜感激

问题是在我的express服务器中使用头盔。我对代码进行了修改,认为它不相关,但下面是server.js的顶部部分,最后一行是相关部分:

const AWS = require('aws-sdk');
const cors = require('cors');
const express = require('express');
const helmet = require('helmet');
const mongoose = require('mongoose');
const path = require('path');
let Download = require('./models/Download.js');

require('dotenv').config();

const app = express();
const port = process.env.PORT || 8081;

app.use(helmet());
不戴头盔解决了这个问题

老实说,我不知道为什么会有这个问题。 我认为问题在于头盔提供了一些安全性,而我的裸骨EB根本无法提供

编辑:具体来说,问题在于CSP。将头盔中的contentSecurityPolicy设置为false就足以解决此问题