У меня есть сервер 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/