Я чувствую, что я единственный человек на инте rnet с этой проблемой. ; -)
Немного больше покопавшись в журналах, я понял, что Beanstalk просто перезаписывает мою конфигурацию nginx в самом конце процесса развертывания. Это означало, что все файлы, созданные мной .ebextensions
, были потеряны.
Мне не удалось найти «правильное» решение, но я обошел его с помощью ловушки после развертывания. Мой конфигурационный файл nginx теперь создается в /home/ec2-user
, а не /etc/nginx
, например:
files:
/home/ec2-user/https.conf:
content: |
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/certs/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5000;
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;
proxy_set_header X-Forwarded-Proto https;
}
}
А затем в .platform/hooks/postdeploy/99_hack_nginx.sh
(убедитесь, что этот каталог включен в ваш пакет развертывания - таким же образом, как .ebextensions
):
cp /home/ec2-user/https.conf /etc/nginx/conf.d
sudo systemctl reload nginx
Убедитесь, что он имеет правильный режим:
chmod +x .platform/hooks/postdeploy/99_hack_nginx.sh
Разверните и наслаждайтесь трафиком HTTPS c.