Nginx - Redirect ignoring server_name

#default:
server { 
    listen 80 default_server;

    server_name _;

    return 404;
}

server { 
    listen 443 default_server;

    server_name _;

    ssl_certificate         /etc/nginx/ssl/dummy.crt;
    ssl_certificate_key     /etc/nginx/ssl/dummy.key;

    return 404;
}


#old-domain:
server { 
    listen 80;

    server_name old-domain.com;
    server_name www.old-domain.com;

    return 301 https://www.old-domain.com$request_uri;
}

server {
    listen 443;

    server_name old-domain.com;
    server_name www.old-domain.com;

    ssl_certificate         /etc/nginx/ssl/old-domain.crt;
    ssl_certificate_key     /etc/nginx/ssl/old-domain.key;

    #catch all
    return 301 https://new-domain.com;
}


#new-domain:
server { 
    listen 80;

    server_name new-domain.com;
    server_name www.new-domain.com;

    return 301 https://www.new-domain.com$request_uri;
}

server {
    listen 443;

    server_name new-domain.com;
    server_name www.new-domain.com;

    ssl_certificate         /etc/nginx/ssl/new-domain.crt;
    ssl_certificate_key     /etc/nginx/ssl/new-domain.key;

    ....
}

Как и просили, вот вывод curl -I для различных запросов:

curl -I http://old.domain.com

HTTP/1.1 301 Moved Permanently Сервер: nginx/1.16.1 Date: Mon, 11 Nov 2019 07:48:57 GMT Content-Type: text/html Content-Length: 169 Соединение: keep-alive Location: https://www.old.domain.com/

curl -I https://old.domain.com

curl: (60) Проблема с SSL сертификатом: самоподписанный сертификат Более подробная информация здесь: https://curl.haxx.se/docs/sslcerts.html curl не смог проверить легитимность сервера и поэтому не смог установить безопасное соединение с ним. Чтобы узнать больше об этой ситуации и как ее исправить, посетите веб-страницу, указанную выше.

0
задан 10 November 2019 в 23:52
1 ответ

Я думаю, что проблема это с сертификатами. Необходимо добавить ssl надлежащий сертификат блоку сервера, который Вы перенаправляете на старом домене. Удостоверьтесь, что сертификат на старом домене корректен, или он не будет работать

0
ответ дан 23 November 2019 в 13:52

Теги

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