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

Неизвестный домен, обслуживающий содержимое моих сайтов

Я обнаружил, что неизвестный домен, например www.aaa.com обслуживающий точно такое же содержимое (html, js, css, любой актив) моего сайта: myname.me.

И API тоже, например, www.aaa.com/api/user получить тот же ответ, что и myname.me/api/user.

Как я могу заблокировать этот домен от обслуживания моей вещи?

Как это сделать, перенаправить прямо на мой домен? Прокси? DNS?

Я использую VPS, и я использую nginx, вот моя конфигурация nginx, это перенаправление на https:

server {
    if ($host = example.me) {
        return 301 https://$host$request_uri;
    }

    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.me;
    return 404;
}

Это прокси от https-запроса к моему приложению, работающему на порту 3000:

server {
    root /var/www/html/example
    server_tokens off;

    index index.html index.htm index.nginx-debian.html;

    server_name example.me;
    # add_header Cache-Control no-cache;

    location / {
        # First attempt to serve request as file, then as directory, then fall back to displaying a 404.
        # try_files $uri $uri/ =404;
        proxy_pass http://198.51.100.1:3000$request_uri;
    }
}

В вашем описании говорится, что другое доменное имя, которым вы не владеете, было настроено на ваш IP-адрес, и посетители этого домена видят ваш сайт.

Чтобы исправить это, вам нужно восстановить nginx по умолчанию server блок, который поставляется с nginx (или, в данном случае, пользовательской версией Ubuntu по умолчанию server блок). По умолчанию server блок по умолчанию ничего не обслуживает; все, что достигает его, попадает на страницу Debian «добро пожаловать в nginx». У вас должен быть отдельный server блоки для собственных сайтов.

Обратитесь к ответу @Michael Hampton ♦, вот как я это исправлю.

Добавьте блок сервера по умолчанию (ssl), необходимо указать пути сертификатов ssl, чтобы он работал, см. Вот.

server {
        listen 443 default_server;
        listen [::]:443 default_server;
        ssl_certificate /path/to/your/certificate
        ssl_certificate_key /path/to/your/certificate_key
        server_name _;
        return 444;
}

Теперь этот неизвестный домен ничего не возвращает (но все еще использует мой ssl), и мой домен работает нормально.