Как заставить nginx на ec2 работать с https - PullRequest
0 голосов
/ 15 февраля 2019

Это то, что я настроил на AWS в двух словах: у меня есть ec2 (сервер Windows), назовем его моим WebAppInstance, в котором размещается веб-приложение на основе .Net.

Затем у меня есть другой экземпляр ec2 (сервер Windows), у которого есть другой экземпляр того же веб-приложения, назовем его WebAppInstanceStaging.

Теперь, чтобы добиться канареечного развертывания, я создал еще один ec2 (ubuntu) для размещения nginx, чтобы перенаправить запрос либо в WebAppInstance, либо в WebAppInstanceStaging на основе заголовка запроса.

Я поставил свойnginx за elb для использования ssl-сертификата, который есть у меня в AWS Certificate Manager (ACM), поскольку его нельзя напрямую использовать с ec2.Затем я создал набор записей Route 53 в домене, зарегистрированном в AWS (* .mydomain.com).

В Route 53 я создал набор записей как myapp.mydomain.com.Теперь, когда я получаю доступ к http://myapp.mydomain.com, я могу получить к нему доступ, но когда я пытаюсь получить доступ к http s : //myapp.mydomain.com, я вижу ошибку, говорящую, что этот сайт не может бытьдостиг (ERR_CONNECTION_REFUSED).Ниже приведена конфигурация моего nginx:

upstream staging {
 server myappstaging.somedomain.com:443;
}

upstream prod {
 server myapp.somedomain.com:443;
}

# map to different upstream backends based on header
map $http_x_server_select $pool {
 default "prod";
 staging "staging";
}

   server {
 listen 80;
 server_name <publicIPOfMyNginxEC2> <myapp.mydomain.com>;
 location / {
      proxy_pass https://$pool;

      #standard proxy settings
      proxy_set_header X-Real-IP $remote_addr;
      proxy_redirect off;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-NginX-Proxy true;
proxy_connect_timeout 600;
      proxy_send_timeout 600;
      proxy_read_timeout 600;
      send_timeout 600;
 }
}

Более одного дня я пытался это выяснить.Чего мне не хватает?

...