Назад | Перейти на главную страницу

Ошибка проверки работоспособности AWS ELB при попытке принудительно настроить HTTPS через NGINX для моего одностраничного приложения

Я пытаюсь принудительно использовать https на своих конечных точках http с помощью NGINX следующим образом:

server {
    location / {
        root /data/www;
        if ($http_x_forwarded_proto != 'https') {
            rewrite ^ https://$host$request_uri? permanent;
        }
    }
    location /images/ {
        root /data;
    }
}

Обратите внимание, что все im, обслуживаемые из nginx, представляют собой статические файлы (файл HTML, файл javascript и файл Coupl

Моя проверка работоспособности ELB достигает HTTP: 80 /. Я думаю, что это происходит, когда ELB пытается проверить связь с моим сервером, выполняет эту перезапись и возвращает 301? Я видел много ответов для ruby ​​и node, но это просто статические активы. Помогите!

Да, ELB попадет на ваш сервер через его IP (таким образом, получая значение по умолчанию server block), и все, кроме запроса 2xx, будет считаться ошибкой.

Мы используем серверный блок по умолчанию для ELB, чтобы пинговать:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    location = /status {
      return 200;
      access_log off;
    }
}

В итоге я снова проверил работоспособность TCP: 80, а не HTTP: 80