Как правило, вы не хотите изменять файлы в экземпляре Elastic Beanstalk. Преимущество этой среды состоит в том, что вы можете раскручивать новые экземпляры по мере необходимости, и вам не нужно прикасаться к ним.
Вы можете немного настроить машины Elastic Beanstalk, используя метод ebextensions . По сути, это структура сценариев и файлов, которая дает вам возможность изменять свою среду. Тем не менее, имейте в виду, что ваш лучший способ отладки - это включить SSH в машину и посмотреть, что делают сценарии запуска. Я чувствую, что Amazon не очень хорошо задокументировал этот процесс, и наблюдать за тем, что он делает, все еще проще.
Я использую Java Elastic Beanstalk и должен изменить порт, который проксируется, с 5000 на 8080. У меня есть файл, который в моей среде заменяет существующий файл прокси. В .ebextensions/nginx/conf.d/elasticbeanstalk
в моем дистрибутиве Elastic Beanstalk я включаю следующее как 00_application.conf
:
#
# default is 404 - no need to allow anything else
#
location / {
return 404;
}
#
# this is our default url path prefix
#
location /integration {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Это для службы REST, которая предоставляет только /integration
. Ключ в том, что я должен был получить исходный файл от входа в систему, чтобы увидеть, как была настроена моя среда. В зависимости от типа среды Elastic Beanstalk, выбранные вами настройки могут отличаться. Например, в мире Java есть тип Tomcat и тип приложения Java, и их конфигурация сильно отличается.