Почему не происходит переадресация с https://www на https://?

Есть сервер с NGINX-конфигом и установленным lets enycript для домена sitename.ru (без поддоменов).

Конфиг такой:

server {
  listen 80;
  server_name sitename.ru www.sitename.ru;
  return 301 https://$host$request_uri;
}

server {
  listen 443;
  server_name www.sitename.ru;
  return 301 https://sitename.ru$request_uri;
}

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

  ...
}


Все хорошо работает. Но кроме одного сценария:

При переходе со смартфона (некоторых) по адресу https://www.sitename.ru выходит ошибка. "This connect Is Not Private". Сертификат некорректный.

Как я понял, дело в том что поддомен WWW не выходит в сертификат. Но почему переадресация не происходит.. ведь на десктопе все хорошо.

Почему так происходит и что с этим можно сделать?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
suffix_ixbt
@suffix_ixbt
https://www.babai.ru/
Ситуация возникает с Сафари из под Айфонов ? Ну вот такие они "странные" :)

Сертификат LE выпускаемый для sitename.ru действителен и для www.sitename.ru.

Подключите сертификат для обоих вариантов:

server {
    listen               80;
    listen               443 ssl;
    server_name          www.example.com;
    ssl_certificate      path/to/cert;
    ssl_certificate_key  path/to/key;

    return 301 $scheme://example.com$request_uri;
}

server {
    listen               80;
    listen               443 ssl;
    server_name          example.com;
    ssl_certificate      path/to/cert;
    ssl_certificate_key  path/to/key;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
smilingcheater
@smilingcheater
Что делать - выдать сертификат на www-поддомен.
Чтобы произошёл редирект - браузер должен получить от сервера, но он ему не доверяет и даже не смотрит что сервер прислал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы