Задать вопрос

Как на NGINX сделать «http to https» и «www to non-www» сразу для пары доменов?

Доброго времени суток специалистам!

Буду очень признателен, если подскажите мне правильную последовательность действий:
В связи с тем, что сайт мультиязычный, есть пара доменов.
Мне нужно для сделать следующее:
1) чтобы оба домена всегда работали только через HTTPS
2) всегда были без WWW

Я правильно понимаю, мне сначала надо создать сервер на 80 порту, в server_name прописать все возможные домены с www и без-www

1) После чего реализовать редирект на HTTPS
2) HTTPS прописать проверку на наличие www и если есть, то кидать на https без www.

Я правильно мыслю?

С этим конфигом у меня на данный момент происходит "This webpage has a redirect loop".
## our http server at port 80
server {
      listen      80 default;
      server_name domain.ru www.domain.ru domain.com www.domain.com;
      ## redirect http to https ##
      rewrite        ^ https://$server_name$request_uri? permanent;
}

## Our https server at port 443. You need to provide ssl config here###
server {
listen    443 ssl;
server_name domain.ru www.domain.ru domain.com www.domain.com;

server_name "~^www\.(.*)$";
return 301 https://$host$request_uri;
}
  • Вопрос задан
  • 16384 просмотра
Подписаться 6 Комментировать
Подписчики вопроса 6 К ответам на вопрос (2)