Этот ответ переполнения стека предлагает использовать этот код для удаления www
перед любым доменом:
if ($host ~* ^www\.(.*)$) { rewrite / $scheme://$1 permanent; }
Обратите внимание, что если это зло, но говорят, что работать с rewrite
.
Без какой-либо конфигурации с моей стороны, 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. полностью.
Есть идеи?
Этот ответ переполнения стека предлагает использовать этот код для удаления www
перед любым доменом:
if ($host ~* ^www\.(.*)$) { rewrite / $scheme://$1 permanent; }
Обратите внимание, что если это зло, но говорят, что работать с rewrite
.