Рейтинг:1

Неправильный редирект субдомена nginx

флаг cn

Я настроил сервер nginx с этой конфигурацией:

сервер {
        имя_сервера key.mydomain.fun;
        место расположения / {
                прокси_пароль http://mydomain.fun:6969;
        }
}
сервер {
    слушать 80;
    имя_сервера admin.mydomain.fun;
    вернуть 301 https://$server_name$request_uri;
}

сервер {
    слушать 443 ssl http2;
    имя_сервера admin.mydomain.fun;
    ....
}

Странная вещь: при запуске нового браузера и переходе на «key.mydomain.fun» я получаю предупреждение сертификата ssl о том, что сертификат действителен только для «mydomain.fun», а не для «key.mydomain.fun».(У меня есть сертификат ssl, настроенный только для mydomain.fun, поэтому нет подстановочного знака). После принятия я попадаю на ключевую страницу.

После этого я хочу получить доступ к «admin.mydomain.fun» и снова получить сообщение об ошибке (это нормально), и после принятия я попаду на свою страницу администратора.

Теперь странная вещь: когда я теперь хочу снова получить доступ к «key.mydomain.fun», будет отображаться сайт администратора. URL-адрес по-прежнему «key.mydomain.fun», но я нахожусь на странице администратора. После этого «key.mydomain.fun» и «admin.mydomain.fun» переведут меня на страницу администратора.

Теперь, когда я перезагружаю браузер (удаляю все), я могу повторить эти шаги и снова получить доступ к сайту «key.mydomain.fun».

Что здесь пошло не так? Почему я вижу страницу администратора при переходе на «key.mydomain.fun»?

Michael Hampton avatar
флаг cz
У вас нет блока server для key.mydomain.fun с использованием TLS на порту 443. Вместо этого используется блок по умолчанию (первый).
digijay avatar
флаг mx
Кроме того, получите действительные сертификаты TLS для всех ваших поддоменов, это легко и бесплатно с помощью [letsencrypt](https://certbot.eff.org/)
someone324443 avatar
флаг cn
Хорошо, я сделал это, и теперь все работает нормально. Я также обновился до подстановочного сертификата. Но один вопрос: у меня настроен сертификат только в блоке сервера admin.mydomain.fun. Почему у меня все еще есть действующий сертификат или сертификат в целом по адресу `key.mydomain.fun`?
djdomi avatar
флаг za
ИМХО, вы не сказали nginx, что `key.domain.fun` должен `слушать`
someone324443 avatar
флаг cn
@djdomi Мне нужно это сделать? Должен ли я просто слушать «слушай 80 443»?
djdomi avatar
флаг za
[Присоединяйтесь к чату](https://chat.stackexchange.com/rooms/126791/thechat) так будет проще и мы не спамим здесь

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.