Ошибка "[warn] conflicting server name "site.ru" on 0.0.0.0:80, ignored"

grey nginx-forum на forum.nginx.org
Пн Сен 2 13:38:30 UTC 2019


Приветствую.


Решил перевести сайт на https, заодно убрать www в имени домена. Раньше
делал это через if-ы, но тут говорят, что они зло, потому захотел сделать
всё по уму...

# редирект с http на https
	server {
		listen       80;
		server_name  site.ru www.site.ru;
		return 301 https://site.ru$request_uri;
	}

# редирект с www на non-www
	server {
		server_name www.site.ru; # <------------ ошибка
		rewrite ^(.*)$ https://site.ru$1 permanent;
	}

	server {
		listen       443 ssl default_server;
		server_name  site.ru;
...


В результате получаю ошибку "[warn] conflicting server name "www.site.ru" on
0.0.0.0:80, ignored". Ругает на строку "server_name  www.site.ru;", но как
сделать по другому - не пойму. Убрать строку наверно будет не правильно,
т.к. хостов может быть много, а мне нужно для конкретного хоста сделать те
или иные манипуляции.

Подскажите, плз, что я делаю не так?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,285510,285510#msg-285510



Подробная информация о списке рассылки nginx-ru