2 / 2 / 1
Регистрация: 13.03.2014
Сообщений: 387
1

Настройка перенаправления нескольких доменных имен на один

05.09.2018, 00:24. Показов 1652. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Не получается настроить перенаправление нескольких доменных имен на одно и так, чтобы еще открывалось по протоколу HTTPS. имя с WWW и по IP не перенаправляются на имя без WWW.
Код
server {
        listen 80;
	listen [::]:80;
        server_name site.ru www.site.ru 11.111.111.11 xn--ttttttt.xn--p1ai;
        return 301 https://site.ru$request_uri;
}
server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;
    ssl on;
    ssl_certificate /etc/ssl/site.crt;
    ssl_certificate_key /etc/ssl/site.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server_name site.ru www.site.ru 11.111.111.11 xn--ttttttt.xn--p1ai;

    location / {
        root /var/www/site/www/;
	index index.php;
}
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2018, 00:24
Ответы с готовыми решениями:

Как так? Один ip адрес на несколько доменных имен?
Как так может быть что одному ip адресу сервера может соответствовать несколько доменных имен?

Использование нескольких доменных имен
Хотелось бы услышать мнение специалистов по следующей проблеме. Планируется создание интернет...

При наборе двух разных доменных имён, попадаю на один и тот же
Всем привет. Вопрос такой : На одном моём хостинге несколько доменов. Проблема в том, что если...

Список доменных имен
Подскажите примерный хотя бы набросок как обойти большой список сайтов (записаны в файле строка -...

4
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2018, 09:55 2
Лучший ответ Сообщение было отмечено 1inkin1 как решение

Решение

Код
server {
    listen 80;
    listen [::]:80;
    server_name site.ru www.site.ru 11.111.111.11 xn--ttttttt.xn--p1ai;
    return 301 https://site.ru$request_uri;
}

server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;

    ssl on;
    ssl_certificate /etc/ssl/site.crt;
    ssl_certificate_key /etc/ssl/site.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server_name  www.site.ru;
    return 301 https://site.ru$request_uri;
}

server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;

    ssl on;
    ssl_certificate /etc/ssl/site.crt;
    ssl_certificate_key /etc/ssl/site.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server_name  11.111.111.11;
    return 301 https://site.ru$request_uri;
}

server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;

    ssl on;
    ssl_certificate /etc/ssl/site.crt;
    ssl_certificate_key /etc/ssl/site.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server_name  xn--ttttttt.xn--p1ai;
    return 301 https://site.ru$request_uri;
}

server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;

    ssl on;
    ssl_certificate /etc/ssl/site.crt;
    ssl_certificate_key /etc/ssl/site.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server_name site.ru;

    location / {
        root /var/www/site/www/;
        index index.php;
    }
}
В данном случае вангую, что браузер будет жаловаться на сертификаты для www.site.ru, 11.111.111.11 или xn--ttttttt.xn--p1ai

Поэтому сгенерируйте для них сертификаты и запишите в конфиг выше.
1
2 / 2 / 1
Регистрация: 13.03.2014
Сообщений: 387
05.09.2018, 10:08  [ТС] 3
А можно ли сделать, чтобы с этих адресов сразу перенаправлялось на основной? У меня раньше так было сделано в .htaccess на другом сервере без nginx, а на этом nginx не взаимодействует с .htaccess, поэтому вот пытаюсь реализовать перенапоавления в конфиге
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
05.09.2018, 11:29 4
Цитата Сообщение от 1inkin1 Посмотреть сообщение
А можно ли сделать, чтобы с этих адресов сразу перенаправлялось на основной?
Так конфиг, который я привел Выше этим и занимается. Или там косяк какой-то?

Цитата Сообщение от 1inkin1 Посмотреть сообщение
У меня раньше так было сделано в .htaccess на другом сервере без nginx, а на этом nginx не взаимодействует с .htaccess, поэтому вот пытаюсь реализовать перенапоавления в конфиге
Централизованность конфига - это нормально для nginx. См. раздел "Распределенная конфигурация против централизованной" https://habr.com/post/267721/
0
2 / 2 / 1
Регистрация: 13.03.2014
Сообщений: 387
05.09.2018, 20:04  [ТС] 5
Извините, я только сейчас проверил ваш вариант - всё работает как надо. меня просто сначала смутило, что вы сказали о работе сертификата для других доменов и решил, что сайт всё таки будет открываться по этим адресам, но всё нормально перенаправляется на основной. да, я считаю, что так удобнее, когда все настройки прописаны в конфиге вебсервера, но моя ошибка была, что я не понял, что надо было делать отдельные секции server для каждого перенаправления. спасибо за помощь.
0
05.09.2018, 20:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2018, 20:04
Помогаю со студенческими работами здесь

Несколько доменных имен
Добрый день ! Я имею довольно неплохой сайт по моей тематике, и сейчас зарагестрировал 2...

Регистрация доменных имен
Подскажите пожалуйсто, на всх сайтах предостовляющих хостинг, имеется функция регистрации доменных...

Проверка доменных имен.
Кто знает, есть ли место где можно проверить доменное имя сразу в нескольких зонах ( не...

Регистратор доменных имён
Я достаточно долго пытаюсь понять как работает Всемирная Паутина и у меня назрел вопрос по поводу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru