Вопрос https на ISPManager

Тема в разделе "Администрирование серверов", создана пользователем romvi, 16 янв 2018.

Модераторы: mefish
  1. romvi

    romvi Постоялец

    Регистр.:
    20 апр 2016
    Сообщения:
    86
    Симпатии:
    4
    Значит имеется сервер с панелью ISPManager5. На нем несколько сайтов по протоколу http. Также есть один сайт с сертификатом от Letsencrypt, который был выпущен посредством панели ISPManager. Сайт нормально работает по протоколу https. Но вот заметил проблему: если остальные сайты загружать по адресу https:// то появляется ошибка, что сертификат относится как раз для того домена. Как такое может быть?
     
  2. skurudo

    skurudo Создатель

    Регистр.:
    17 авг 2014
    Сообщения:
    9
    Симпатии:
    2
    Такое может быть очень даже легко и это сравнительно таки нормально из-за использования SNI.

    Представьте себе у вас 1 адрес и на нем сидит n-сайтов. SNI позволяет определять имя хоста во время рукопожатия и соотвественно клиента переадресовывать к нужному вам сайту, а не к какому-то рандомному. В случае с http проблем обычно нет, по крайней мере таких, а вот с SSL таки есть, потому что сертификат привязан к имени домена.

    Это ответ на то, почему так.

    Бороться с этим можно и наверное даже нужно. Делать это лучше всего на уровне nginx.
     
  3. qpPeW

    qpPeW Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    109
    Симпатии:
    42
    Все очень просто, если Вы перейдете по IP, будет такая же проблема, соответственно Вам нужно задать по дефолту любой другой домен без SSL либо создать технический домен и назначить его по дефолту.

    P.S. при создании и редактировании www-доменов есть пункт "Приоритетный", вот его активируйте и домен станет по дефолту.

    Бредового ответа я еще не слышал.
     
  4. pautina

    pautina Постоялец

    Регистр.:
    15 фев 2010
    Сообщения:
    106
    Симпатии:
    34
    Немного хочу добавить и поправить.
    Ошибка будет в любом случае появляться, так-как для ssl тоже нужный дефолтный.
    Правильным и адекватным решением считаю, что необходимо написать RewriteRule на дефолтном SSL www-домене, которое будет проверять:
    - если пользователь зашел по HTTPS, то проверить адрес сайта, и если адрес сайта не site.ru - то сделать редирект на https://site.ru/.

    У себя я именно так и сделал, причем для http тоже написал. (зачем пользователю видеть некрасивые цифри в виде ip)

    И к сожалению даже в этом случае будет появляться предупреждение о неверном сертификате.

    И еще одно решение, и оно самое верное-это для каждого SLL-домен свой IP :) Ну хотя-бы IPv6.
     
  5. xsacha

    xsacha Постоялец

    Регистр.:
    16 июн 2015
    Сообщения:
    86
    Симпатии:
    17
    А что вообще мешает перевести все сайты на ssl вить он на холяву получается в isp manager за 2 минуты и не парится вообще.
     
  6. sparsame

    sparsame Постоялец

    Регистр.:
    20 авг 2011
    Сообщения:
    98
    Симпатии:
    11
    Гугл не любит самописные сертификаты, поэтому лучше их не юзать
     
  7. xsacha

    xsacha Постоялец

    Регистр.:
    16 июн 2015
    Сообщения:
    86
    Симпатии:
    17
    Там не самописные сертификаты, а Let's Encrypt. Половину сайтов в интернете используют именно их.
     
  8. se0null

    se0null Постоялец

    Регистр.:
    1 дек 2007
    Сообщения:
    121
    Симпатии:
    66
    Код:
    Идем в конфиг /usr/local/mgr5/etc/ihttpd.conf. И добавляем в пункт listen такие строки:
    
    certkey /var/www/httpd-cert/tempssl/s7.abcd.services_le1.key
    cert /var/www/httpd-cert/tempssl/s7.abcd.services_le1.crtca
    
    
    Было:
    listen {
            ip 91.121.210.210
            redirect
    }
    
    
    Стало:
    listen {
            ip 91.121.210.210
            certkey /var/www/httpd-cert/tempssl/s7.abcd.services_le1.key
            cert /var/www/httpd-cert/tempssl/s7.abcd.services_le1.crtca    
            redirect
    }