у меня есть домен, он называется mydomain.com
, он работает на сервере NGINX. я добавил новую конфигурацию на sites-enabled
для subdomain.mydomain.com
, и это сработало.
но когда я получаю доступ, whatever.mydomain.com
, wildcard.mydomain.com
, NGINX не показывает 404, но выполняет такую конфигурацию, как mydomain.com
.
как ограничить доступ к поддомену, только для доступной конфигурации на сайтах с включенным доступом?
Вы можете настроить серверный блок «поймать все» следующим образом:
server {
listen 80 default_server;
server_name _;
return 404; #alternative: return 444;
}
Если вы хотите ловить только поддомены на mydomain.com
, вы можете указать server_name *.mydomain.com
вместо.
Как правило, сопоставление имени сервера выполняется nginx в следующем порядке:
Nginx не смог найти совпадений для вашего поддомена и, следовательно, достиг точки 6 и использовал единственный существующий блок.
Подробнее о возможностях server_name
можно найти здесь: http://nginx.org/en/docs/http/server_names.html