У меня есть приводимый в действие сайт Node.js, что я работаю на Amazon Эластичный Бобовый стебель.
Мое приложение Node.js слушает на порте 8080, и я использую nginx эластичную конфигурацию подсистемы балансировки нагрузки со своим приложением EB, слушая на порте 80 и 443 для HTTP и HTTPS.
Однако я только хочу принять торговлю своим приложением, которое появилось через HTTPS.
Я мог подстроить что-то в приложении для контакта с этим, но интересно способом заставлять подсистему балансировки нагрузки перенаправлять все Запросы HTTP на мой сайт через HTTPS.
Принятый ответ не работал на меня. После многих попыток (и часы поиска с помощью Google), я нахожу что-то, что действительно работало на меня. У меня также есть приводимый в действие сайт Node.js, что я работаю на Эластичном Бобовом стебле.
я использовал сценарий отсюда: https://adamjstevenson.com/tutorials/2017/02/02/configuring-and-forcing-https-for-aws-elastic-beanstalk.html
единственная модификация, которую я сделал, была, выключают
/opt/elasticbeanstalk/support/conf/webapp_healthd.conf
/etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf
, таким образом, она дает это:
files:
"/tmp/45_nginx_https_rw.sh":
owner: root
group: root
mode: "000644"
content: |
#! /bin/bash
CONFIGURED=`grep -c "return 301 https" /etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf`
if [ $CONFIGURED = 0 ]
then
sed -i '/listen 80;/a \ if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri; }\n' /etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf
logger -t nginx_rw "https rewrite rules added"
exit 0
else
logger -t nginx_rw "https rewrite rules already set"
exit 0
fi
container_commands:
00_appdeploy_rewrite_hook:
command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/appdeploy/enact
01_configdeploy_rewrite_hook:
command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact
02_rewrite_hook_perms:
command: chmod 755 /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh
03_rewrite_hook_ownership:
command: chown root:users /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh
После eb deploy
, просто перезапустите свой nginx sudo service nginx restart
, и Вы установлены.