<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    На одном из серверов около 11 тысяч виртуальных хостов в nginx'е.
    Бывает и больше:) Серверов тоже далеко не десять.<br>
    <br>
    Неизвестен заранее ни список IP адресов, ни список имен.<br>
    <br>
    Вариант с созданием для каждого IP адреса конфига в виде:
    <ip_addr>.conf и внутри дефолтным сервером конечно решает
    задачу, но для динамически выделяемых IP адресов не совсем подходит.
    Поэтому пока буду пытаться решать иначе.<br>
    <br>
    <div class="moz-cite-prefix">On 08.04.2016 14:25, Илья Шипицин
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFHpkQHW5gS1HTs0PyCrwxAUHoM2EK5++XpvpSdTHas8+94KiQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>более или менее типовая ситуация заключается в том,
                что вы отвечаете по известному списку днс-имен.<br>
              </div>
              это - недефолтные хосты.<br>
              <br>
            </div>
            в дефолтном вы делаете <br>
            <br>
            <br>
            server {<br>
                listen x.x.x.x:80 default accept_filter=httpready;<br>
                listen x.x.x.x:443 default http2 reuseport
            accept_filter=dataready;<br>
                server_name _; <br>
                access_log off;<br>
                error_log /dev/null;<br>
                location / {<br>
                    return 444;<br>
                }<br>
            }<br>
            <br>
            <br>
          </div>
          и, всякие скрипткидизы, которые тыкают в ip-адрес и ищут
          уязвимый софт, перестают вас беспокоить в логах.<br>
          <br>
          <br>
          <br>
        </div>
        или у вас список доменов заранее неизвестен ? <br>
        <div>
          <div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">8 апреля 2016 г., 14:41 пользователь
          navern <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:livingdeadzerg@yandex.ru" target="_blank">livingdeadzerg@yandex.ru</a>></span>
          написал:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> Неудобно, потому что
              IP адреса не все дефолтные. И необязательно он будет
              всегда на этом сервере, а может мигрировать на другой.
              Придется еще добавлять логику по перемещению "дефолтного"
              IP и это всё действительно неудобно.<br>
              <br>
              Я понимаю, как работают дефолтные хосты, часть IP адресов
              так и указаны. Можете просто поверить на слово, что для
              части IP адресов дефолтный хост не очень работает.<br>
              <br>
              С точки зрения конфигурирования можно решить конечно, но
              это будет не очень удобно. Именно из-за динамического
              выделения IP. Придется держать дефолтный хост отдельно для
              каждого IP адреса и делать проверки при каждом
              перемещении/удалении IP адреса с сервера.<br>
              <br>
              listen * не подходит, потому что не только nginx слушает
              80 и 443 порт на сервере.<br>
              <br>
              Пока что уже полез ковыряться в исходниках, сейчас
              разбираюсь что и как работает там:)<span class=""><br>
                <br>
                <div>On 07.04.2016 22:10, Vadim A. Misbakh-Soloviov
                  wrote:<br>
                </div>
              </span>
              <blockquote type="cite"><span class="">
                  <blockquote type="cite">
                    <pre>Ну в нашем случае нам как раз подходит указать везде reuseport явно,
чтобы он работал всегда. Указывать только в одном месте очень неудобно
для автоматического конфигурирования.
</pre>
                  </blockquote>
                  <pre>Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. 
Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) 
нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже 
кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в 
listen.
(пути от балды)

</pre>
                  <blockquote type="cite">
                    <pre>Это не очень как раз удобно, потому что проще накатывать конфиг по
шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем
перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и
есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока
меньше).
</pre>
                  </blockquote>
                  <pre>1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже 
только в дефолтном держу.
2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет 
проверять лишь его наличие.
3) а чем, кстати, вам не подходит listen * и [::]?


</pre>
                  <br>
                  <fieldset></fieldset>
                  <br>
                </span>
                <pre>_______________________________________________
nginx-ru mailing list
<a moz-do-not-send="true" href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a>
<a moz-do-not-send="true" href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></pre>
              </blockquote>
              <br>
            </div>
            <br>
            _______________________________________________<br>
            nginx-ru mailing list<br>
            <a moz-do-not-send="true" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
            <a moz-do-not-send="true"
              href="http://mailman.nginx.org/mailman/listinfo/nginx-ru"
              rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
nginx-ru mailing list
<a class="moz-txt-link-abbreviated" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a>
<a class="moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></pre>
    </blockquote>
    <br>
  </body>
</html>