Рейтинг:0

Перенаправить старый URL-адрес на новый с ошибкой имени конфликтующего сервера NGINX

флаг nl

Мой веб-сайт изменит URL-адрес, я пытаюсь применить перенаправление (старое имя.example.com на новое имя.example.com), но получаю следующую ошибку:

nginx: [предупреждение] конфликтующее имя сервера «old-name.example.com» на 0.0.0.0:443, игнорируется nginx.

Вот мой файл конфигурации nginx в /etc/nginx/sites-enabled/myconf.conf:

сервер {
        
            имя_сервера старое имя.example.com;
        
            место расположения / {
                add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
                #
                # Пользовательские заголовки и заголовки, с которыми различные браузеры *должны* работать, но не
                #
                add_header 'Access-Control-Allow-Headers' 'DNT, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Range, Authorization, x-auth';
                #
                # Сообщите клиенту, что эта предварительная информация действительна в течение 20 дней.
                #
    
                [некоторые конфиги....]
            }
        
            слушать 443 ssl; # под управлением Certbot
    
           [настройка SSL...]
}
        
        
сервер {
            если ($ host = старое имя.example.com) {
                вернуть 301 https://$host$request_uri;
            } # управляется Certbot
        
        
                слушать 80;
        
                имя_сервера старое имя.example.com;
            вернуть 404; # под управлением Certbot
}
        
сервер {
        имя_сервера старое имя.example.com;
        вернуть 301 new-name.example.com$request_uri;
}

сервер {

    server_name новое имя.example.com;

    место расположения / {
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
        #
        # Пользовательские заголовки и заголовки, с которыми различные браузеры *должны* работать, но не
        #
        add_header 'Access-Control-Allow-Headers' 'DNT, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Range, Authorization, x-auth';
        #
        # Сообщите клиенту, что эта предварительная информация действительна в течение 20 дней.
        #
       [некоторые настройки...]

    }

    слушать 443 ssl; # под управлением Certbot
    [настройка SSL...]
}


сервер {
    если ($ host = новое имя.example.com) {
        вернуть 301 https://$host$request_uri;
    } # управляется Certbot


    слушать 80;

    server_name новое имя.example.com;
    вернуть 404; # под управлением Certbot
}
Ivan Shatsky avatar
флаг gr
Что не так с ответом, который я дал вам вчера на тот же вопрос в [SO] (https://stackoverflow.com/questions/72473085/redirect-https-to-https-with-nginx-conflicting-server-name-error) ? Чего вы ожидаете от кросс-постинга вашего вопроса? Если вам что-то непонятно, вы можете задать дополнительные вопросы там.
SaltySteven avatar
флаг nl
Извините @IvanShatsky, я не получаю уведомления об этом. Я пытаюсь выполнить перенаправление по вашей схеме и получаю следующую ошибку: 414 Request-URI Too Large. А URL выглядит так: old-name.example.com/https:://www.new-name.example.com/http:://… и так продолжается какое-то время, что я могу сделать неправильный?

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

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