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

Nginx делает сайт недоступным по IP

Мой веб-сайт настроен для доступа через example.com. Если возможно, я хочу полностью запретить доступ к нему через его IP-адрес или хотя бы 301 перенаправить его на веб-сайт.

Возможно ли первое, и если да, то как?

Вы должны создать файл конфигурации vhost по умолчанию и включить его раньше других.

Например, вы можете сохранить эту конфигурацию по умолчанию в /etc/nginx/conf/default.conf:

server {
    listen 80 default_server;
    return 444;
}

И включите его в nginx.conf:

http {
....
 include "/etc/nginx/conf/default.conf";
 include "/etc/nginx/vhosts/*.conf";

}

Убедитесь, что он включен до других конфигураций vhosts.

Вам просто нужно добавить серверный блок в конфигурацию nginx.

Следующий код вернет ошибку 403 пользователям, обращающимся к вашему серверу через IP:

server {
    listen 80; # IPv4
    listen [::]:80; # IPv6 (if enabled)
    server_name ""; # no domain name
    return 403;
}