Кто-нибудь может указать мне, пожалуйста, в правильной настройке nginx. У меня 3 домена и 1 поддомен, и у меня проблема только с одним доменом.
Все домены имеют одинаковый блок главного сервера
domain1.com
server {
# Server host
server_name domain1.com *.domain1.com; # Other domains are set to 1.com, 2.com ...
# Server ports
listen 80;
listen [::]:80 ipv6only=on;
listen 443 ssl http2;
listen [::]:443 ipv6only=on ssl http2;
Теперь смешно вот что:
$ curl -I http://www.domain2.com,
HTTP/1.1 200 OK
Link: <http://www.domain3.com/>; rel=shortlink
$ curl -I https://domain2.com
HTTP/1.1 302 Found
Location: https://www.domain1.com
Таким образом, https без www перенаправляет на domain1.com, а www http отображает domain3.com.
Я пытался добавить:
server {
listen 80;
listen [::]:80;
server_name www.domain2.com, domain2.com;
return 301 https://www.domain2.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name domain2.com;
return 301 https://www.domain2.com$request_uri;
}
Но это не помогает. Я вижу, что, вероятно, некоторые настройки избыточны, но не уверен, почему это не работает. Я хочу добиться:
domain2.com, www.domain2.com> https://www.domain2.com
У меня тоже есть поддомен, но он работает хорошо: dev.domain2.com