Я не могу заставить https на свободном уровне использования эластичного бобового стебля.
Я пробовал следующее предложение в Как заставить https на эластичный beanstalk Amazon без проверки работоспособности
Использование этого правила перезаписи Apache
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/status$
RewriteCond %{REQUEST_URI} !^/version$
RewriteCond %{REQUEST_URI} !^/_hostmanager/
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Когда я пытаюсь это сделать, HTTP-запросы не перенаправляются на https, как хотелось бы. Вместо этого страница http загружается нормально. Я также попытался использовать заголовок X-Forwarded-Port с тем же результатом.
Я также пробовал следующее правило перезаписи
RewriteCond %{SERVER_PORT} 80
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
И это правило вызывает цикл перенаправления. Таким образом, казалось бы, что правила перезаписи apache не собирают заголовки балансировки эластичной нагрузки X-Forwarded-Port и X-Forwarded-Proto, но и цикл перенаправления - это не то, что я собираюсь сделать.
Пожалуйста, помогите. Я новичок в AWS, Elastic Beanstalk и не очень хорошо знаком с правилами Apache. Я не слишком уверен, куда идти отсюда. Спасибо.
Этот ответ предполагает, что вы уже включили https в группе безопасности балансировки нагрузки, добавили сертификат SSL в балансировщик нагрузки, добавили 443 в порты, перенаправленные балансировщиком нагрузки, и указали свое доменное имя в среде Elastic Beanstalk с помощью Route 53 (или эквивалентная служба DNS).
ПРИМЕЧАНИЕ. Этот ответ относится к средам с эластичным beanstalk, которые используют Apache. Он также может не работать для развертывания на докере.
Все, что вам нужно сделать, это добавить в один из ваших .config
файлов в каталог .ebextensions
вашего проекта следующее:
files:
"/etc/httpd/conf.d/ssl_rewrite.conf":
mode: "000644"
owner: root
group: root
content: |
RewriteEngine On
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</If>
Это умеренно прямо за пределами эластичного бобового стебля. Обычно добавляется правило перезаписи Apache, например:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Или, если за балансиром нагрузки, как и в этом случае:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Однако эти конфигурации работают только в блоке <VirtualHost>
. Изменение блока RewriteCond
на <If>
позволяет корректно работать за пределами блока <VirtualHost>
, что позволяет нам вставить автономный конфигурационный файл Apache. Обратите внимание, что стандартная установка Apache в CentOS (включая настройку на ElasticBeanstalk) включает все файлы, соответствующие /etc/httpd/conf.d/*.conf
, которые соответствуют пути файла, в котором мы храним этот файл.
Часть условия -n '%{HTTP:X-Forwarded-Proto}'
предотвращает перенаправление, если вы не находитесь за балансировщиком нагрузки, что позволяет вам иметь общую конфигурацию между производственной средой с балансировщиком нагрузки и https и промежуточную среду, которая представляет собой единый экземпляр и не имеет https. Это не обязательно, если вы используете балансировщики нагрузки и https во всех своих средах, но это не повредит.
Я видел много плохих решений этой проблемы, и стоит прочесть их, чтобы понять, почему это решение необходимо.
Использовать Cloudfront:. Некоторые люди предлагают использовать не кэшированную настройку Cloudfront перед Elastic Beanstalk для перенаправления HTTP на HTTPS. Это добавляет совершенно новую услугу (что добавляет сложности), что не совсем подходит (Cloudfront - это CDN, это не правильный инструмент для принудительного HTTPS для наследуемого динамического контента). Конфигурация Apache - это нормальное решение этой проблемы, а Elastic Beanstalk использует Apache, чтобы мы могли идти.
SSH на сервер и...: Это совершенно противоречит точке Elastic Beanstalk и имеет так много проблем. Любые новые экземпляры, созданные автомасштабированием, не будут иметь модифицированную конфигурацию. Любая клонированная среда не будет иметь конфигурацию. Любое количество разумного набора изменений среды уничтожит конфигурацию. Это такая плохая идея.
Перезаписать конфигурацию Apache с новым файлом: Это попадает в правильную область решения, но оставляет вас в кошмаре обслуживания, если Elastic Beanstalk изменяет аспекты настройки сервера (что они очень хорошо может сделать). Также см. Проблемы в следующем элементе.
Динамически редактировать конфигурационный файл Apache, чтобы добавить несколько строк: Это достойная идея. Проблемы с этим в том, что он не будет работать, если Elastic Beanstalk когда-либо изменяет имя своего конфигурационного файла Apache по умолчанию и что этот файл может быть перезаписан, когда вы меньше всего ожидаете: https://forums.aws.amazon.com/thread.jspa?threadID=163369
EDIT: пока мне нравится этот ответ, сейчас очень старый. AWS придумал новые сервисы (например, Certificate Manager), которые делают часть этого ответа устаревшей. Кроме того, использование папки
.ebextensions
с Apache является более чистым способом обработки этого перенаправления, как описано выше.
Если вы размещаете свой сайт на S3, часть этого ответа может по-прежнему вам полезна.
Это сработало для меня:
Загрузите сертификат в AWS, используя консольную команду aws
. Структура команды:
aws iam upload-server-certificate --server-certificate-name CERTIFICATE_NAME --certificate-body "file://PATH_TO_CERTIFICATE.crt" --private-key "file://YOUR_PRIVATE_KEY.pem" --certificate-chain "file://YOUR_CERTIFICATE_CHAIN.ca-bundle" --path /cloudfront/
В приложении Elastic Beanstalk перейдите в Конфигурация → Сетевой уровень → Балансировка нагрузки и нажмите кнопку значок передачи.
Выберите Безопасный порт прослушивателя как 443. Выберите Протокол как HTTPS. Выберите CERTIFICATE_NAME
от шаг 2 для идентификатора сертификата SSL. Сохраните конфигурацию.
Перейдите в консоль . Нажмите Экземпляры EC2. Нажмите Балансировщики нагрузки. Нажмите балансировку нагрузки. Нажмите Экземпляры и прокрутите вниз, чтобы просмотреть экземпляры EC2, назначенные этому балансировщику нагрузки. Если экземпляр EC2 имеет то же имя, что и ваш URL-адрес приложения (или что-то близкое), обратите внимание на DNS Name для балансировки нагрузки. Он должен быть в формате awseb-e-...
Вернитесь в консоль . Нажмите CloudFront. Нажмите Создать рассылку. Выберите дистрибутив Веб.
Настройте дистрибутив. Задайте свое Имя домена происхождения в DNS-имя балансира нагрузки, которое вы нашли в шаге 5 . Установите Протокол протокола просмотра на Перенаправить HTTP на HTTPS. Установите строки прямого запроса на Да. Установите Альтернативные имена доменов (CNAME) на URL-адреса, которые вы хотите использовать для своего приложения. Установите сертификат SSL на CERTIFICATE_NAME
, который вы загрузили в шаг 2. Создайте свой дистрибутив.
Нажмите на имя своего дистрибутива в CloudFront. Нажмите Происхождение, выберите источник и нажмите Изменить. Убедитесь, что Протокольная политика происхождения < соответствует. Возвращаться. Нажмите Поведение, выберите источник и нажмите Изменить. Измените Переслать заголовки на белый список и добавьте Хост. Сохранить.
Примечание: Я также написал более длинное руководство.
Самое лучшее для меня не работает. <If> директива работает только с Apache 2.4+, но ElasticBeanstalk имеет версию 2.2.x.
Итак, следуя тому же совету, что и выше. Создайте файл с именем .ebextensions/https_rewrite.config со следующим содержимым
files:
"/etc/httpd/conf.d/ssl_rewrite.conf":
mode: "000644"
owner: root
group: root
content: |
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
# This will enable the Rewrite capabilities
RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Кажется, это работает для меня.
О том, как создать этот файл в вашем файле WAR, см. в этом :
Изменить: Решение Zags более общее и правильное. Я рекомендую его по моему (что специфично для python env)
Здесь вы найдете чистое и быстрое решение, которое позволяет избежать взлома wsgi.conf или использования CloudFront
В вашем .ebextensions/some_file.config:
# Redirect HTTP to HTTPS
"/etc/httpd/conf.d/https_redirect.conf":
mode: "000644"
owner: root
group: root
content: |
<Directory /opt/python/current/app/>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</Directory>
Я чувствую, что это слишком легко, но, похоже, работает нормально.
Также обратите внимание, что я явно перенаправляю HTTP вместо "не HTTPS".
/etc/httpd/conf.d/https_redirect.conf
не должен существовать, см. Ответ
Я пытаюсь перенаправить эластичный beanstalk с loadbalancer в 2018 году. Ни один из вышеперечисленных ответов не работает в моей среде. Несколько проблем, которые я использовал:
Я пробовал самый проголосовавший ответ, но мой кот - версия 2.7. Он не поддерживает.
Я использовал команду container_commands и скопировал параметр 00_applications. AWS просто игнорирует его.
Итак, наконец, я начал работать, читая это: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-proxy.html
Вот что я делаю:
Я воссоздал структуру папок:
.ebextensions
- httpd
-conf.d
-ssl.conf
И вот это содержимое ssl.conf
<VirtualHost *:80>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
Надеюсь, это поможет.
Ни один из вышеперечисленных ответов не работал у меня, но некоторые помогли мне разобраться в ответе, который сработал у меня Также я нашел приведенный ниже URL-адрес, который помог http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html
Я создал структуру файлов, упомянутую в вышеприведенном URL, чтобы изменить 2 файла httpd.conf 00_application.conf
скопируйте весь httpd.conf из вашего экземпляра и поместите его в свой код под .ebextention в структуре папок, упомянутой в приведенной выше ссылке. Затем просто добавьте строку ниже этого файла в свой проект
LoadModule rewrite_module modules/mod_rewrite.so
Сделайте то же самое для 00_application.conf, скопируйте его из своего экземпляра и поместите его в свою базу кода под .ebextention в httpd/conf.d/elasticbeanstalk/00_application.conf Теперь отредактируйте этот файл и добавьте ниже между VirtualHost
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Теперь разверните свой код Он должен работать.
Он работает для меня следующей командой:
RewriteCond %{HTTP:X-Forwarded-Port} !=443
и без проверки https:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
Похоже, что ELB меняет значение X-Forwarded-Proto на http (даже по протоколу TCP).
На эластичном beanstalk вы можете просто добавить свою конфигурацию, чтобы AWS переписать их, это позволит вам перезаписать конфигурацию веб-сервера и отправить свою собственную конфигурацию.
Просто добавьте следующий файл в путь:.ebextensions\httpd\conf.d
Содержимое файла:
<VirtualHost *:80>
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
".ebextensions" - это стандартная папка конфигурации в AWS, а остальные просто указывают на файл и папку, которые вы хотите перезаписать. Если файл или папка не существует, просто создайте их.
Мне было трудно понять это, поэтому после того, как я придумал решение, я написал подробное объяснение моего решения, надеюсь, поможет кто-нибудь другой. Это относится к приложениям Tomcat 8, Apache2 и Spring Boot. Есть действительно полезные примеры ebextension в лабораторных гидах AWS.
Резюме того, что сработало для меня:
Начиная с 2018-07-25, существует лучшая опция для перенаправления https непосредственно в балансировщике нагрузки, что устраняет необходимость возиться с файлами конфигурации.
У меня есть следующие конфигурации для эластичного бобового стека (64-битный Amazon Linux 2016.09 v2.3.1 с Tomcat 8 Java 8). Я создал каталог .ebextensions и добавил файл YAML.config с условиями перезаписи
Загас решение, описанное выше (что очень сложно), не работает для меня.
Это решение имеет для меня больше смысла, но и это не работает. Ничего не происходит, и я не вижу файл "ssl_rewrite.conf" в каталоге "conf.d".
Третьим решением было добавить файлы "run.config" и "ssl_rewrite.conf" в каталог ".ebextendsion".
run_config содержит
container_commands:
copy-config:
command: "cp .ebextensions/ssl_rewrite.conf /etc/httpd/conf.d"
ssl_rewrite.conf содержит
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
ssl_rewrite.conf создается под "conf.d" directcotry, но перенаправление с http на https не работает.
Единственное работающее решение для меня заключалось в том, чтобы добавить следующие строки в "/etc/httpd/conf.d/elasticbeanstalk/00_application.conf"
<VirtualHost *:80>
......
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
......
</VirtualHost>
но это временное решение, и если машина заменена, мое перенаправление https исчезнет.
files:
содержимое файла в разделе content: |
и установите соответствующий режим, владельца и группу. ELB создаст файл для вас автоматически.
/etc/httpd/conf.d/elasticbeanstalk.conf
?
Мне нужно было применять HTTPS только для нашей производственной среды, а не для разработки и промежуточной среды, которые также находятся на Elastic Beanstalk, но не используют балансировщик нагрузки (и поэтому не могут быть назначены сертификату напрямую).
Я использую переменную окружения USE_HTTPS
. Мы ssl_rewrite.conf
файл ssl_rewrite.conf
тогда и только тогда, когда USE_HTTPS
имеет значение true
.
.ebextensions/файлы/ssl_rewrite.conf
RewriteEngine On
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</If>
.ebextensions/https.config
files:
"/home/ec2-user/https_setup.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/bash
echo "USE_HTTPS env var: ${USE_HTTPS,,}"
outfile=/etc/httpd/conf.d/ssl_rewrite.conf
if [ "${USE_HTTPS,,}" == "true" ]; then
echo "Configure SSL rewrite"
cp .ebextensions/files/ssl_rewrite.conf $outfile
chmod 644 $outfile
chown root:root $outfile
else
[ -f $outfile ] && rm $outfile
echo "Do not use SSL"
exit 0
fi
container_commands:
01_https_setup:
command: "/home/ec2-user/https_setup.sh"
Обратите внимание, что если вы измените USE_HTTPS
, вам необходимо USE_HTTPS
приложение, чтобы изменения вступили в силу. Вы также можете удалить команды echo
в файле https.config
если хотите.
На всякий случай все еще борется:
Я боролся в течение некоторого времени и, наконец, я нашел GitHub (из команды AWS) со всеми конфигурациями AWS, а приведенный ниже пример работает для перенаправления HTTP> HTTPS для Apache 2.2. (Для конфигураций для Apache 2.4 и Nginx см. Ссылку ниже).
Apache 2.2
Создайте файл в корневом каталоге вашего приложения: YOUR_PROJECT_ROOT/.ebextensions/httpd/conf.d/elasticbeanstalk.conf (В случае использования IntelliJ/Java убедитесь, что он добавлен в финальный артефакт WAR)
Добавьте следующие строки, чтобы включить перенаправление в виртуальном хосте:
<VirtualHost *:80>
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
Для получения дополнительных примеров для Apache 2.4 и Nginx посетите этот репозиторий GitHub:
Кроме того, имеется много полезной конфигурации и доступных примеров.
С уважением
AWS не принимает unserscores (_) в headders, в то время как мы можем использовать (-), So Удалить подчеркивания из переменных заголовка, например: - header_var_val = "some value" заменить его headervarval = "some value". Меня устраивает.
Чтобы продлить еще два ответа на этот вопрос https://stackoverflow.com/questions/14693852/how-to-force-https-on-elastic-beanstalk, https://stackoverflow.com/questions/14693852/how-to-force-https-on-elastic-beanstalk. Для пользователей, загружающих spring, которые развертывают свои службы на AWS с помощью ELB, и вам необходимо пошаговое руководство, вы можете добавить файл conf.conf в src/main/webapp/.ebextensions/httpd/conf.d/in ваш проект.
<Предварительно > <код > ЦСИ --главный ----Ява ----Ресурсы ---- WebApps ------. ebextensions -------- HTTPD ---------- confd ------------ ****. Конф Код >****. conf выглядит следующим образом. Заметил, что у меня есть сайт для тестирования с одним экземпляром, поэтому я добавляю условие, чтобы исключить его.
< VirtualHost *: 80 > Модули LoadModule rewrite_module/mod_rewrite.so
RewriteEngine On RewriteCond% {HTTP: X-Forwarded-Proto}! Https RewriteCond% {HTTP_USER_AGENT}! ELB-HealthChecker RewriteCond% {HTTP_HOST}! Testexample.com #excludes тестовый сайт RewriteRule (. *) Https://% {HTTP_HOST}% {REQUEST_URI}
< Прокси > > Отказаться, разрешить Разрешить от всех </прокси >
ProxyPass/http://localhost: 8080/retry = 0 ProxyPassReverse/http://localhost: 8080/ ProxyPreserveHost on
ErrorLog/var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
Код>
После этого не забудьте добавить "ресурс" в maven-war-plugin в свой pom.xml, чтобы получить вышеуказанную конфигурацию.
<Предварительно > <код > < плагин > < идентификатор_группа > org.apache.maven.plugins </GroupID> < артефакт > Maven-плагин войны </артефакт > < & конфигурация GT; <webResources> & Л; ресурс > <! - некоторый другой ресурс, настроенный вами самостоятельно → </ресурс > & Л; ресурс > < & каталога GT; SRC/основная/WebApps/.ebextensions </каталог > <TargetPath> .ebextensions </TargetPath> & Л; фильтрация > истинно </фильтрации > </ресурс > </webResources> </конфигурации > < & версии GT; 2.1.1 </& версии GT; </плагин > Код >Наконец, скопируйте и подтолкните свой код, подождите код и код кода AWS, чтобы забрать свой код из своего репозитория и развернуть в beanstalk-среду или просто упаковать свой проект в военный файл и загрузить его в среду beanstalk AWS.
Мы решили это на нашем сервере, правильно обработав X-Forwarded-Proto
.
Это наш конфигуратор Grails, но он поможет вам с идеей:
grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
grails.plugin.springsecurity.portMapper.httpPort = 80
grails.plugin.springsecurity.portMapper.httpsPort = 443
grails.plugin.springsecurity.secureChannel.secureHeaderName = 'X-Forwarded-Proto'
grails.plugin.springsecurity.secureChannel.secureHeaderValue = 'http'
grails.plugin.springsecurity.secureChannel.insecureHeaderName = 'X-Forwarded-Proto'
grails.plugin.springsecurity.secureChannel.insecureHeaderValue = 'https'
grails.plugin.springsecurity.secureChannel.definition = [
[pattern: '/**', access: 'REQUIRES_SECURE_CHANNEL']
]
Обратите внимание, что самый проголосовавший ответ немного устарел. Ответ А Павла на самом деле правильный ответ. Ссылка, предоставленная в его ответе, - AWS (так что рекомендуемый способ переопределить вашу конфигурацию Apache, чтобы перенаправить с HTTP на HTTPS при запуске приложения на Elastic Beanstalk).
Есть одна очень важная вещь. Если вы развертываете более одного веб-приложения, добавление папки .ebextensions внутри одного из ваших веб-приложений не будет работать. Вы заметите, что Non из сконфигурированных конфигураций записывается или создается. Если вы развертываете несколько веб-приложений в среде эластичного beanstalk, вам необходимо прочитать эту статью AWS Java Tomcat Развертывание нескольких файлов WAR на Elastic Beanstalk
В общем, вам нужно будет создать следующую структуру, прежде чем вы выпустите команду eb для развертывания WAR файлов:
MyApplication.zip
├── .ebextensions
├── foo.war
├── bar.war
└── ROOT.war
Если внутри каждого файла WAR существует папка .ebextentions, вы заметите, что она полностью игнорируется, и никакие изменения конфигурации не будут выполнены.
Надеюсь, это поможет кому-то еще.
Почему бы вам просто не поместить файл .htaccess в корневую папку? Таким образом, вы можете просто протестировать и отладить его. И если вы включите его в .zip, он будет автоматически развернут во всех экземплярах снова.
Просто используйте .htaccess
:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
это простое решение
Отредактируйте локальную версию wsgi.conf и добавьте следующие правила переадресации в <VirtualHost> </Теги VirtualHost >
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule !/status https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
Измените "/статус" на любую страницу, которую вы используете, на странице проверка работоспособности.
Отредактируйте свой <app> .conf внутри вашего каталога ebextensions, чтобы добавить команду контейнера для копирования этой версии wsgi.conf поверх версии Amazons
container_commands:
01_syncdb:
command: "django-admin.py syncdb --noinput" leader_only: true
02_collectstatic:
command: "django-admin.py collectstatic --noinput"
03_wsgireplace:
command: 'cp wsgi.conf ../wsgi.conf'
...
Разверните код.
Он должен работать, и файл будет соответствующим образом обновлен для каждого развертывания. Единственное, на что нужно обратить внимание, это то, что Amazon изменит содержимое своего базового файла wsgi.conf в будущем, тогда ваша копия может перестать работать.
Autor rickchristianson
Если вы используете среду с балансировкой нагрузки, вы можете следовать инструкциям Конфигурирование HTTPS для среды AWS Elastic Beanstalk и в конце отключить HTTP порт.
Обратите внимание, что в настоящее время AWS Free Usage Tier содержит такое же количество часов для балансировки эластичной нагрузки (ELB), что и для EC2 Micro Instance.