1

Без какой-либо конфигурации с моей стороны, nginx обслуживает веб-сайт для www. а также домен, который я установил в server_name . Я понятия не имею, как это происходит, но я бы хотел отключить это.

Значение: я настроил сервер для subdomain.example.com , который работает нормально, однако www.subdomain.example.com также работает!

Это мой nginx conf:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}

А затем файл примера из /etc/nginx/conf.d/:

server {
    listen 80;
    server_name subdomain.example.com;

    location / {
        proxy_pass http://656.655.665.655:3277;

    }

}

Я проверил, и у меня нет подстановочных знаков ни в одном из других конфигов.

Когда я добавляю:

server {
  server_name www.subdomain.example.com;
  return 301 $scheme://subdomain.example.com$request_uri;
}

Это работает, и www. перенаправляется, но мне не нравится это решение, по разным причинам я хотел бы просто отключить www. полностью.

Есть идеи?

1 ответ1

0

Этот ответ о переполнении стека предлагает использовать этот код для удаления www перед любым доменом:

if ($host ~* ^www\.(.*)$) {
    rewrite / $scheme://$1 permanent;
}

Обратите внимание, что если это зло, но, как говорят, работает с rewrite .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .