Я использую один экземпляр ElasticBeanstalk с NodeJS и пытаюсь настроить прокси Nginx для обслуживания моих статических файлов (в настоящее время мой сервер Express обслуживает статические файлы).Однако, на всю жизнь, я не могу заставить это работать.
В данный момент мои статические активы расположены в /var/app/current/server/public
в экземпляре EB.EB предоставляет папку /var/app/current
.server/public
результат моей сборки.В случае, если это помогает, Express обслуживает мои статические файлы со следующим кодом:
app.use(express.static('public'));
Это работает.Теперь, чтобы Nginx обслуживал их вместо этого, я удалил указанную выше строку на моем сервере Express и добавил следующую конфигурацию EB в мою папку .ebextensions
, чтобы сопоставить виртуальные пути с соответствующими каталогами.Затем я разверну:
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
Это не работает.Я получаю 404 с при запросе файла типа https://example.com/css/main.css
или https://example.com/js/index.js
.Точно такой же путь работал, когда я обслуживал свои активы из Express.
Я пытался поиграть с косой чертой (добавить косую черту, удаляя начальную косую черту), но безрезультатно.Я также подтвердил, что эти настройки соответствуют конфигурации EB через пользовательский интерфейс.
Чего мне не хватает?!