使用ElasticBeanstalk Nginx服务静态文件

时间:2018-10-14 08:28:54

标签: node.js nginx amazon-elastic-beanstalk

我正在使用NodeJS的单实例ElasticBeanstalk,并且尝试配置Nginx代理来提供我的静态文件(当前,我的Express服务器正在提供静态文件)。但是,为了我的一生,我无法使它正常工作。

现在,我的静态资产位于EB实例的/var/app/current/server/public中。 EB提供了/var/app/current文件夹。 server/public是我构建的结果。如果有帮助,Express会使用以下代码来提供我的静态文件:

app.use(express.static('public'));

这有效。现在,要使Nginx代替这些服务,我在Express服务器中删除了上面的行,并在我的.ebextensions文件夹中添加了以下EB配置,以将虚拟路径映射到适当的目录。然后我部署:

staticfiles.conf

option_settings:

  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /js: /server/public/js
    /css: /server/public/css
    /images: /server/public/images
    /scripts: /server/public/scripts

这不起作用。请求https://example.com/css/main.csshttps://example.com/js/index.js之类的文件时得到404。当我从Express提供资产时,这些路径完全一样。

我尝试使用斜杠(添加斜杠,删除前斜杠)无济于事。我还确认了这些设置可以通过用户界面将其设置为EB配置。

我想念什么?!

0 个答案:

没有答案