Я пытаюсь принудительно использовать 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