Пытаюсь настроить HTTPS на одном экземпляре AWS Beanstalk, получаю отказ в подключении
Я пытаюсь заставить HTTPS работать в среде AWS Beanstalk Python/Django Single instance. Я решил несколько проблем, но теперь я застрял, сборка развертывается и сайт работает на HTTP, но на HTTPS я получаю ERR_CONNECTION_REFUSED и ничего не появляется в журналах, которые я могу видеть.
Начал с указаний здесь: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-python.html
Первой проблемой, с которой я столкнулся, была ошибка развертывания
Unhandled exception during build: Yum does not have mod24_ssl available for installation
и основываясь на этом посте, я изменил его на mod_ssl и это исправило его.
Второй проблемой, с которой я столкнулся, была еще одна ошибка развертывания
Command 01killhttpd failed
, поэтому я удалил эти команды, основываясь на этом посте.
Удалось добиться развертывания среды, и она работает с HTTP, но с HTTPS я получаю отказ в подключении и не могу понять почему. Я несколько раз просматривал журналы и ничего не нашел. Вот полные логи. Любая помощь будет высоко оценена.
Вот два файла, которые я создал в папке .ebextensions:
https-instance.config
packages:
yum:
mod_ssl : []
files:
/etc/httpd/conf.d/ssl.conf:
mode: "000644"
owner: root
group: root
content: |
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /opt/python/run/baselinenv
WSGISocketPrefix run/wsgi
WSGIRestrictEmbedded On
Listen 443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "/etc/pki/tls/certs/server.crt"
SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
Alias /static/ /opt/python/current/app/static/
<Directory /opt/python/current/app/static>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / /opt/python/current/app/nwmarket.wsgi:application
<Directory /opt/python/current/app>
Require all granted
</Directory>
WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
python-path=/opt/python/current/app \
python-home=/opt/python/run/venv \
home=/opt/python/current/app \
user=wsgi \
group=wsgi
WSGIProcessGroup wsgi-ssl
</VirtualHost>
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
https-instance-single.config
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
Я пробовал использовать файл conf подробно описанный здесь, но это не сработало для меня.