Разрешить доступ к серверу nginx только при использовании полного доменного имени, а не IP-адреса.

Разрешить доступ к серверу nginx только при использовании полного доменного имени, а не IP-адреса.

У меня есть сервер nginx, обслуживающийhttp://example.comкоторый разрешается в IP 1.2.3.4. В данный момент пользователи могут подключиться либо перейдя по ссылкеhttp://example.comили посетивhttp://1.2.3.4.

Я хочу разрешить доступ только при использовании полного доменного имени,http://exmple.com. Как настроить nginx так, чтобы он блокировал доступ по IP-адресу и разрешал доступ только при использовании полного доменного имени?

решение1

Вы можете создать два виртуальных хоста в Nginx. Один для доступа по умолчанию, а другой — для конкретного домена.

Затем вы можете ограничить доступ по умолчанию или перенаправить на свой домен по вашему выбору.

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "";
    return      444;  # or comment this and uncomment below to redirect to domain.
    #return 301 http://www.example.com$request_uri;
}
server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "www.example.com";
    ...
    ...
}

Виртуальные хосты Nginx -https://tecadmin.net/setup-nginx-virtual-hosts-on-ubuntu/

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