nginx catch-all ловит все

nginx catch-all ловит все

Привет, у меня есть этот файл по умолчанию.

server {
    listen 80 default_server;
    listen 443 default_server;
    listen [::]:80 default_server;
    listen [::]:443 default_server;
    server_name _;
    return 444;
}

Это ловит все... в той же папке (с поддержкой сайтов) у меня есть файл domain.com

server {
    listen 80;
    server_name my.domain.com;
    location /.well-known/acme-challenge {
        default_type "text/plain";
        root /storage/webserver/certbot;
    }
    #Forces all other requests to HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl http2;
    server_name my.domain.com;
    ## SSL STUFF ##
    root /path/to/root;
    index index.html index.php;

    location / {
        try_files $uri $uri/ $uri.html;
    }


    ### Site config
}

Если я оставляю файл по умолчанию отключенным (удаленным) и захожу на my.domain.com, то вижу свою страницу. Теперь, если я добавляю файл по умолчанию, я получаю 444 от Nginx (закрыто). Почему..?

EDIT: После некоторых тестов я обнаружил, что проблема в прослушивании 443 default_server; часть, которая ловит каждый https-запрос, почему?? У меня есть блокировка с моим доменом и прослушиванием 443!

решение1

Согласно этому ответуhttps://serverfault.com/a/841646/459947

Мне пришлось добавить сертификат в catch_all. После того, как я сделал это с самоподписанным сертификатом, я получаю 444 на моем IP (верно, так как он не блокируется) и предупреждение SSL и 444 при принятии на HTTPS моего IP. Так что это работает для меня, я хотел бы, чтобы был лучший способ сделать это.

server {
    listen 80 default_server;
    listen 443 ssl default_server;
    server_name _;
    ssl_certificate <path to cert>
    ssl_certificate_key <path to key>
    return 444;
}

В соответствии сhttps://serverfault.com/a/593668/459947Вы могли бы сделатьеслина блоках, чтобы проверить, правильный ли домен. Я имею в виду, я думаю, это работает, но я не хочу добавлять это в каждый блок. Если вы думаете, что это лучшая идея, дайте мне знать.

Связанный контент