Page 1 of 2

[ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Mon Sep 26, 2016 7:07 am
by pligin
Всем привет!
Есть проблема.
Сервер открывает одну страницу через несколько виртуалхостов (доменов)
Пример:
https://site1.ru/url1
http://site2.ru/url1
https://site3.ru/url1
Открывается одна и та же страница первого домена.
Так и со всеми остальными.
Открываются как при наличии https так и без него.
Когда-то была такая же проблема со статическим контентом (без использования VestaCP), она решилась при помощи дефолтного конфига nginx.
Может, тут тоже что-то подобное нужно сделать.
Заранее благодарен.

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Mon Sep 26, 2016 10:40 am
by skurudo
Попробуйте поправить
/etc/nginx/conf.d/ваш-ip.conf

Используя код ниже:

Code: Select all

server {
    listen       ваш-ip:80 default;
    server_name  _;
        access_log /dev/null;
        error_log /dev/null;
        return 444;
        
               location /phpmyadmin/ {
        proxy_pass  http://ваш-ip:8080;
    }

        location /webmail/ {
        proxy_pass  http://ваш-ip:8080;
    }
}

server {
    listen      ваш-ip:443;
    server_name _;
    ssl         on;
    ssl_certificate      /home/user/conf/web/ssl.ваш-домен.ru.pem;
    ssl_certificate_key  /home/user/conf/web/ssl.ваш-домен.ru.key;
        access_log /dev/null;
        error_log /dev/null;
  return 444;

        location /phpmyadmin/ {
        proxy_pass  http://ваш-ip:8080;
    }

        location /webmail/ {
        proxy_pass  http://ваш-ip:8080;
    } 
}
Что даст? Не даст переходить по несуществующим доменам, направленных левых доменах
Добавьте-проверьте и будем дальше смотреть.

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Mon Nov 07, 2016 11:34 pm
by Randy
Hi!


По HTTPS все равно открывается по IP и по домену, хотя HTTPS у домена только у одного включено. Как можно решить данную проблему, чтобы https не открывалися по IP и доменам, у которым не включена поддержка SSL? При переходе по HTTPS всега ведет на сертификат одного подключенного домена ( не главного/первого добавленного ).

Пример:

http://domain1.com ( основной/первый добавленный, без поддержки SSL )
https://domain2.com ( с поддржкой SSL )
http://domain3.com ( без поддержки SSL )

При переходе https://ip_servera открывается сайт с https://domain2.com и также при переходе с https://domain1.com и https://domain3.com всегда открывается https://domain2.com

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Thu Nov 10, 2016 5:05 pm
by Randy
Не ужели никто из разработчиков не ответит?!

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Thu Nov 10, 2016 7:47 pm
by Stesh
Randy wrote:Не ужели никто из разработчиков не ответит?!
Удивительно, но факт: если воспользоваться поиском, то можно найти решение.
viewtopic.php?f=29&t=12999

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Fri Nov 11, 2016 8:40 am
by Randy
Не увидел ни одного решения/рекомендации от разработчиков.

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Fri Nov 11, 2016 11:52 am
by Stesh
Randy wrote:Не увидел ни одного решения/рекомендации от разработчиков.
А нужны именно разработчики или простые смертные подойдут?

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Fri Nov 11, 2016 4:30 pm
by Randy
Проще для всех доменов SSL купить по 4.5$ , чем искать/ждать.

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Tue Nov 15, 2016 2:36 pm
by skurudo
Randy wrote:Не увидел ни одного решения/рекомендации от разработчиков.
Все делается по аналогии с 80 портом, но для 443-ого
Stesh все верно подсказал, там и решение было - оно кочует из топика в топик.

Re: [ОШИБКА] Страницы одного виртуалхоста отображаются на другом

Posted: Tue Nov 15, 2016 2:41 pm
by skurudo
Randy wrote:Проще для всех доменов SSL купить по 4.5$ , чем искать/ждать.
Если есть лишние деньги, тогда конечно - вперед, впрочем если они у вас есть, то зачем вы возитесь с этим? Наняли бы себе админа :) Не забывайте, что с сертификатами уже давно есть бесплатные варианты: Let's encrypt, Wosing, StartSSL, CloudFlare.

И еще хочу отметить, что в данном случае ошибки нет. Особенность работы nginx - слушается порт по адресу и отдается все, что там приписано. Если нужно этого избежать без дополнительных настроек и правки конфигов (это касается как HTTP, так и HTTPS сайтов), то стоит запастись отдельными IP-адресами.