Nginx работает автоматически для www, даже без настройки


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. полностью.

Есть идеи?


Я думаю, что ваш браузер, вероятно, делает это, так как я считаю, что в chrome и firefox произошли некоторые изменения, чтобы «игнорировать» www. добавлено к URL. Я лично думаю, что это глупая идея, но увы. Попробуйте выполнить поиск DNS для обоих URL-адресов, с и без www. Тот, у кого нет, должен потерпеть неудачу, если у вас нет символа подстановки. Если это терпит неудачу, это - явно вмешивающийся браузер.
djsmiley2k

@ djsmiley2k Я так не думаю. Я пытался использовать curlи до сих пор проходит, без каких-либо упоминаний о www в конфигурации nginx
mikicz

Ответы:


0

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

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

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


Это на самом деле не отвечает на мой вопрос, хотя я даже упомянул, что когда я делаю перенаправление, оно перенаправляет правильно, я хотел бы полностью отключить www.subdomain.example.com, но nginx просто каким-то образом заставляет его работать, что странно, так как Я нигде не говорил, что www.subdomain.example.com должен что-то делать. Да, если это зло, вот почему я не использую его в примере перенаправления ...
mikicz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.