<html>
  <head>
    <meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">01.11.2013 14:07, Никита Кардашин
      пишет:<br>
    </div>
    <blockquote
cite="mid:CALA_TQjWBCAd78CsNgk=X_kVU1QKZ6CUkcVuDhJ=nj2KWq=t0A@mail.gmail.com"
      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
            moz-do-not-send="true" href="https://appX.domainX.tld/">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>
    Из документации<br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=KOI8-R">
    <span style="color: rgb(0, 0, 0); font-family: Georgia, serif;
      font-size: medium; font-style: normal; font-variant: normal;
      font-weight: normal; letter-spacing: normal; line-height: normal;
      orphans: auto; text-align: justify; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline
      !important; float: none;">Более общее решение для работы
      нескольких HTTPS-серверов на одном IP-адресе —<span
        class="Apple-converted-space"> </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; orphans: auto; text-align: justify;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">расширение
      Server Name Indication протокола TLS</a><span style="color: rgb(0,
      0, 0); font-family: Georgia, serif; font-size: medium; font-style:
      normal; font-variant: normal; font-weight: normal; letter-spacing:
      normal; line-height: normal; orphans: auto; text-align: justify;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      display: inline !important; float: none;"><span
        class="Apple-converted-space"> </span>(SNI, RFC 6066), которое
      позволяет браузеру передать запрашиваемое имя сервера во время SSL
      handshake, а значит сервер будет знать, какой сертификат ему
      следует использовать для соединения. Однако, поддержка SNI
      браузерами ограничена. Сейчас это поддерживается браузерами
      начиная со следующих версий:<br>
    </span><br>
    <span style="color: rgb(0, 0, 0); font-family: Georgia, serif;
      font-size: medium; font-style: normal; font-variant: normal;
      font-weight: normal; letter-spacing: normal; line-height: normal;
      orphans: auto; text-align: justify; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline
      !important; float: none;">
      <meta http-equiv="content-type" content="text/html;
        charset=KOI8-R">
      <span style="color: rgb(0, 0, 0); font-family: Georgia, serif;
        font-size: medium; font-style: normal; font-variant: normal;
        font-weight: normal; letter-spacing: normal; line-height:
        normal; orphans: auto; text-align: justify; text-indent: 0px;
        text-transform: none; white-space: normal; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px; display:
        inline !important; float: none;">Другим способом является
        использование wildcard-сертификата, например<span
          class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">*.example.org</code><span style="color: rgb(0, 0, 0);
        font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;">. Такой сертификат защищает все поддомены
        указанного домена, но только на заданном уровне. Под такой
        сертификат подходит<span class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;"><a class="moz-txt-link-abbreviated" href="http://www.example.org">www.example.org</a></code><span style="color: rgb(0, 0, 0);
        font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;">, но не подходят<span
          class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">example.org</code><span style="color: rgb(0, 0, 0);
        font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;"><span class="Apple-converted-space"> </span>и<span
          class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;"><a class="moz-txt-link-abbreviated" href="http://www.sub.example.org">www.sub.example.org</a></code><span style="color: rgb(0, 0,
        0); font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;">. Два вышеуказанных способа можно комбинировать.
        Сертификат может одновременно содержать и точное, и wildcard
        имена в поле SubjectAltName, например<span
          class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">example.org</code><span style="color: rgb(0, 0, 0);
        font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;"><span class="Apple-converted-space"> </span>и<span
          class="Apple-converted-space"> </span></span><code
        style="color: rgb(0, 0, 0); font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: justify;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">*.example.org</code><span style="color: rgb(0, 0, 0);
        font-family: Georgia, serif; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: justify; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; display: inline !important;
        float: none;">.</span><br>
      Боюсь что это не может быть, т.к. не могу все клиенты поддерживать
      SNI.<br>
      <br>
      <br>
    </span><br>
    <pre class="moz-signature" cols="72">-- 
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

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

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru </pre>
  </body>
</html>