Я обнаружил, что неизвестный домен, например 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), и мой домен работает нормально.