<div dir="ltr">Не смог найти в документации, как мне в _одном_ server{} настроить более 1 сертификата (SNI). Это возможно?</div><div class="gmail_extra"><br><br><div class="gmail_quote">1 ноября 2013 г., 16:14 пользователь Vladimir Skubriev <span dir="ltr"><<a href="mailto:vladimir@skubriev.ru" target="_blank">vladimir@skubriev.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>01.11.2013 14:07, Никита Кардашин
      пишет:<br>
    </div><div class="im">
    <blockquote type="cite">
      <div dir="ltr">Так, я, видимо, не очень правильно описал проблему.
        Попробую еще раз:
        <div><br>
        </div>
        <div>- Есть домены:</div>
        <div>domain1.tld</div>
        <div>domain2.tld</div>
        <div>domain3.tld</div>
        <div><br>
        </div>
        <div>Сами главные домены хостятся где-то в другом, отличном от
          нашего сервера, месте. Для каждого из них есть wildcard
          SSL-сертификат.</div>
        <div><br>
        </div>
        <div>На нашем сервере хостятся приложения, доступные по
          поддоменам этих доменов (app1.domain2.tld, app10.domain3.tld,
          etc). Для каждого приложения создан конфиг в sites-enabled с
          описанием сервера (где задается и нужный SSL-сертификат, в
          зависимости от того, в каком домене находится приложение).
          Доступны они только по SSL (по сертификату *.domain.tld). Но
          иногда приложения удаляются, а ссылки на них где-то живут. </div>
        <div><br>
        </div>
        <div>Мне нужно каким-то образом реализовать возможность
          редиректить все запросы к адресам а-ля <a href="https://appX.domainX.tld/" target="_blank">https://appX.domainX.tld/</a>,
          в случае, если приложение уже не существует (т.е. сервер
          appX.domainX.tld не описан в конфиге nginx).</div>
        <div><br>
        </div>
        <div>Пока домен был один - я эту проблему решал просто,
          определил в конфиге один сервер с признаком default и там уже
          в location / осуществлял редирект на нужный сайт. Все
          прекрасно работало.</div>
        <div><br>
        </div>
        <div>А теперь сайтов стало три. В описании default-сервера я
          могу задать только одну пару сертификат:ключ, соответственно,
          те, кто придет по appX.domainX.tld (в случае, если домен
          отличается от того, чей сертификат прописан) в default-сервер
          получат в браузере ошибку (и не получат редирект).</div>
        <div><br>
        </div>
        <div>Прописать для каждого из доменов сервер с server_name
          *.domainX.tld я тоже не могу, т.к. тогда туда пойдут не только
          запросы к несуществующим приложениям, а вообще ВСЕ запросы
          (т.е. в приложение никто не попадет).</div>
        <div><br>
        </div>
        <div>Т.е. проблема моя не в том, что мне нужно иметь несколько
          SSL-сервисов на одном IP (это-то прекрасно работает, тут
          проблем нет), а в том, что мне нужно каким-то образом иметь
          несколько default-серверов с поддержкой SSL (либо иметь
          возможность задавать приоритеты серверам, чтобы запрос всегда
          попадал в более точный сервер (appX.domainX.tld), а не в
          wildcard *.domainX.tld).</div>
        <div><br>
        </div>
        <div>Как мне из этой ситуации выйти?</div>
      </div>
    </blockquote></div>
    Из документации<br>
    <br>
    
    <span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">Более общее решение для работы
      нескольких HTTPS-серверов на одном IP-адресе —<span> </span></span><a href="http://en.wikipedia.org/wiki/Server_Name_Indication" style="font-family:Georgia,serif;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:justify;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">расширение
      Server Name Indication протокола TLS</a><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px"><span> </span>(SNI, RFC 6066), которое
      позволяет браузеру передать запрашиваемое имя сервера во время SSL
      handshake, а значит сервер будет знать, какой сертификат ему
      следует использовать для соединения. Однако, поддержка SNI
      браузерами ограничена. Сейчас это поддерживается браузерами
      начиная со следующих версий:<br>
    </span><br>
    <span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">
      
      <span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">Другим способом является
        использование wildcard-сертификата, например<span> </span></span><code>*.<a href="http://example.org" target="_blank">example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">. Такой сертификат защищает все поддомены
        указанного домена, но только на заданном уровне. Под такой
        сертификат подходит<span> </span></span><code><a href="http://www.example.org" target="_blank">www.example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">, но не подходят<span> </span></span><code><a href="http://example.org" target="_blank">example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px"><span> </span>и<span> </span></span><code><a href="http://www.sub.example.org" target="_blank">www.sub.example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">. Два вышеуказанных способа можно комбинировать.
        Сертификат может одновременно содержать и точное, и wildcard
        имена в поле SubjectAltName, например<span> </span></span><code><a href="http://example.org" target="_blank">example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px"><span> </span>и<span> </span></span><code>*.<a href="http://example.org" target="_blank">example.org</a></code><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:justify;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Georgia,serif;word-spacing:0px">.</span><br>

      Боюсь что это не может быть, т.к. не могу все клиенты поддерживать
      SNI.<br>
      <br>
      <br>
    </span><br>
    <pre cols="72">-- 
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: <a href="http://skubriev.ru" target="_blank">skubriev.ru</a> </pre>
  </div>

<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>With best regards,<br>differentlocal (<a href="http://www.differentlocal.ru">www.differentlocal.ru</a> | <a href="mailto:differentlocal@gmail.com">differentlocal@gmail.com</a>),<br>
System administrator.
</div>