Как настроить конфигурацию nginx в AWS loadbalancer для приложения NodeJS? - PullRequest
0 голосов
/ 29 сентября 2019

Я боролся с несколькими итерациями конфигурационных файлов NGINX, чтобы запустить приложение NodeJS на экземпляре EC2 в AWS.Но мне это не удается.Буду признателен за любую помощь.

Мои требования:

http запросы должны быть направлены на https.

www.example.com должны быть перенаправлены на example.com

Мне удалось заставить его работать в http и https отдельно.

www для не-www вообще не работает.

Я прокомментировал логику, которую использовал для принудительного http к https

Если я раскомментирую это, я получаю ошибку OutOfService в LoadBalancer.

Мой код конфигурации NGINX:

server {

 listen       80;
 listen       443;

 server_name example.com;

 root  /opt/bitnami/apache2/htdocs/vdc_live;


 location /  {
            proxy_pass    http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }


  # proxy_set_header X-Forwarded-Proto $scheme;
  # if ( $http_x_forwarded_proto != 'https' )
  # {
  #    return 301 https://$host$request_uri;
  # }


}


server
{
   server_name www.example.com.com;
   return 301 $scheme://example.com$request_uri;
}

1 Ответ

0 голосов
/ 29 сентября 2019

http запросы должны быть принудительно переведены на https.

Если вы уже используете LB, то лучше использовать функцию перенаправления LB?

enter image description here

Благодаря действиям перенаправления балансировщик нагрузки может перенаправлять входящие запросы с одного URL-адреса на другой URL-адрес.Это включает в себя возможность перенаправлять HTTP-запросы в HTTPS-запросы, что позволяет вам достичь цели соответствия безопасности безопасного просмотра, повысить рейтинг в результатах поиска и высокий рейтинг SSL / TLS для вашего сайта.Вы также можете использовать перенаправления для отправки пользователей на другой веб-сайт, например перенаправления со старой версии приложения на новую версию.

support-for-redirects-and-fixed--балансировщик нагрузки для приложения

Все вышеперечисленное работает нормально, если вы используете классический LB, вы можете проверить redirect-http-https-elb

www.example.com следует перенаправить на example.com

Вы также можете сделать это с помощью LB, вы можете сделать это с помощью host маршрутизации.Вы проверяете далее здесь

enter image description here

...