lapka-admin
@lapka-admin

Как сделать переадресацию в nginx c www?

Почитал вопрос https://toster.ru/q/477930
Вроде всё правильно сделано, только он там глобальный конфиг правит, а я локальный для конкретного юзера и домена. Правлю файл home/user/conf/web/snginx.conf
Сделал так:
5a30c17a4a6fa297705535.png
Переадресации с http (с www и без www) работают
Прямой запрос https (без www) работает
И только вариант https://www.domain.ru не работает и говорит Your connection is not secure. The owner of www.domain.ru has configured their website improperly.

Вероятно проверка сертификата для этого домена, происходит ДО редиректа, отсюда ошибка и до редиректа дело не доходит, но как правильно сделать не могу понять.
  • Вопрос задан
  • 270 просмотров
Пригласить эксперта
Ответы на вопрос 1
Все просто, делаете несколько server { } под нужный домен и настраиваете там 301 куда нужно.

# с http://nene.ru -> 301 на https://nene.ru
server {
        listen 242.24.144.84:80;
        server_name nene.ru;
        return 301 https://nene.ru$request_uri;
}

# с http://www.nene.ru -> 301 на https://nene.ru
server {
        listen 242.24.144.84:80;
        server_name www.nene.ru;
        return 301 https://nene.ru$request_uri;
}

# с https://www.nene.ru -> 301 на https://nene.ru
server {
        listen 242.24.144.84:443 http2 ssl;
        server_name www.nene.ru;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_certificate /etc/letsencrypt/live/nene.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/nene.ru/privkey.pem;
        ...
        return 301 https://nene.ru$request_uri;
}

# Сам сайт https://nene.ru
server {
        listen 242.24.144.84:443 http2 ssl;
        server_name nene.ru;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_certificate /etc/letsencrypt/live/nene.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/nene.ru/privkey.pem;
        ...
        ...
        ...
}
Ответ написан
Ваш ответ на вопрос

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

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