Запретить nginx работать без хоста

Если я перейду на IP-адрес своего сервера в своем браузере или с помощью curl (например: curl -v http://5.5.5.5/) nginx перенаправляет http на https (ip-адрес в качестве хоста), а затем обслуживает мой сайт. То же самое происходит, если я напрямую использую https://ip addr. Как остановить обслуживание nginx, если нет доменного имени? (т.е. https://мой-домен.com)

Я попытался поставить свой домен после 443, но nginx жалуется, что этого параметра там быть не должно (nginx 1.18). Я попытался проверить, был ли случайный улов, но grep -r "_;" не получил результата

server {
    listen 443 ssl; # managed by Certbot
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    server_name example.com;
    ...
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

нгинкс

1 ответ
1

Вы можете добавить новые серверные блоки для определения default_server пример:

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name <your IPs>;
    return      444;
}

444 HTTP-код означает СОЕДИНЕНИЕ ЗАКРЫТО БЕЗ ОТВЕТА

ссылка: https://stackoverflow.com/a/42802777/10585581

ЙонзЛеон

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *