Ответ 1
Вы можете использовать redirect, nginx config:
server {
listen 80;
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
У меня есть веб-сайт на VPS.
Проблема, с которой я столкнулась, заключается в том, что когда я ввожу IP-адрес сервера, он ссылается на сайт.
Даже при вводе mail.domain.com он делает то же самое.
Как отключить это, чтобы посетитель получил сообщение или был направлен в домен?
Я попытался отключить IP-адрес и отправить запись на облачную вспышку, но это не сработало.
Моя настройка:
VPS on Linux Debian
Nginx
no control panel just command line
Cloudflare
DNS setup with BIND
Вы можете использовать redirect, nginx config:
server {
listen 80;
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
Вы можете просто добавить директиву сервера перед другими.
server {
listen 80;
server_name _;
return 404;
}
server {
listen 80 default_server;
server_name "";
return 444;
}
Вам нужно указать параметр default_server
, чтобы все не доступные серверные запросы переходили к этому server block
, который выдает 444 error
.
444: СОЕДИНЕНИЕ ЗАКРЫТО БЕЗ РЕАГИРОВАНИЯ
Вы можете попытаться установить IP-адрес сервера в:
/etc/nginx/conf.d/default.conf
Итак, это выглядит так:
server {
listen 80;
server_name localhost IP.OF.VPS.HERE;
Затем вы можете указать поддомен vhost, например:
server {
listen 80;
server_name subdomain.domain.com;
И основной домен, например:
server {
listen 80;
server_name www.domain.com domain.com;
Затем перезапустите Nginx:
/etc/init.d/nginx restart
Каждый vhost должен иметь свой собственный *.conf файл (для лучшей организации), например:
/etc/nginx/conf.d/subdomain.domain.com.conf
/etc/nginx/conf.d/domain.com.conf
/etc/nginx/conf.d/default.conf
if ($http_host != "example.com") {
return 301 example.com;
}
вы можете вернуть любую ошибку, которая вам подходит. Список ошибок можно найти здесь List_of_HTTP_status_codes
server {
listen x.x.x.x:80;
server_name x.x.x.x;
return 404;
}