<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: nginx не отвечает 444</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html</link>
    <description>Задача: не отвечать вообще на явно мусорные запросы&lt;br&gt;&lt;br&gt;В конфиге прописано&lt;br&gt;if ($http_user_agent = &quot;&quot;) &#123;&lt;br&gt;    return 444;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;if ($http_user_agent = &quot;-&quot;) &#123; // на всякий случай&lt;br&gt;    return 444;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;И тем не менее:&lt;br&gt;139.59.225.6 http://domain.tld - &#091;13/Jul/2021:04:27:10 +0300&#093; &quot;GET / HTTP/1.0&quot; 400 248 &quot;-&quot; &quot;-&quot; 0.000&lt;br&gt;&lt;br&gt;Почему он здесь отвечает 400 ?&lt;br&gt;&lt;br&gt;Но иногда это срабатывает:&lt;br&gt;135.125.245.246 https://domain.tld - &#091;08/Jul/2021:03:55:44 +0300&#093; &quot;POST / HTTP/1.1&quot; 444 0 &quot;-&quot; &quot;-&quot; 0.000&lt;br&gt;&lt;br&gt;Я подозреваю, приходит не совсем пустой UA. Пустым его делает nginx при записи в лог.&lt;br&gt;&lt;br&gt;&lt;br&gt;Похожее с запросами &lt;br&gt;if ($request_method !~ ^(GET&amp;#124;POST&amp;#124;HEAD)$ ) &#123;&lt;br&gt;    return 444;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Но &lt;br&gt;193.70.3.242 http://domain.tld - &#091;07/Jul/2021:00:28:18 +0300&#093; &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; 400 150 &quot;-&quot; &quot;-&quot; 0.044&lt;br&gt;&lt;br&gt;Почему он здесь отвечает 400 ?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>nginx не отвечает 444 (eRIC)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#10</link>
    <pubDate>Mon, 19 Jul 2021 10:24:36 GMT</pubDate>
    <description>&amp;gt; log_format main &apos;$remote_addr $scheme://$host $remote_user &#091;$time_local&#093; &quot;$request&quot; &lt;br&gt;&amp;gt; $status $body_bytes_sent &quot;$http_referer&quot; &quot;$http_user_agent&quot; $request_time&apos;; &lt;br&gt;&lt;br&gt;хз даже. если нужно лишний трафик сеит, то есть активный проект https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker, гляньте&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (TyLLIKAH)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#9</link>
    <pubDate>Wed, 14 Jul 2021 18:31:06 GMT</pubDate>
    <description>&amp;gt; нужен конфиг nginx где logformat ваш виден. сервер один? случаем напрямую по &lt;br&gt;&amp;gt; IP не обращаются?&lt;br&gt;&lt;br&gt;/usr/local/etc/nginx/logs/formats.conf                                                                                                             &lt;br&gt;&lt;br&gt;log_format main &apos;$remote_addr $scheme://$host $remote_user &#091;$time_local&#093; &quot;$request&quot; $status $body_bytes_sent &quot;$http_referer&quot; &quot;$http_user_agent&quot; $request_time&apos;;&lt;br&gt;&lt;br&gt;log_subrequest  on;&lt;br&gt;&lt;br&gt;/usr/local/etc/nginx/logs/error.conf                                                                                                                &lt;br&gt;&lt;br&gt;# error_log doesn&apos;t support variables&lt;br&gt;error_log       /var/log/nginx/default.error.log warn;&lt;br&gt;&lt;br&gt;Тех, кто напрямую обращается по ip, записываю в отдельный log и баню&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (eRIC)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#8</link>
    <pubDate>Wed, 14 Jul 2021 16:30:59 GMT</pubDate>
    <description>нужен конфиг nginx где logformat ваш виден. сервер один? случаем напрямую по IP не обращаются?&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (TyLLIKAH)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#7</link>
    <pubDate>Wed, 14 Jul 2021 11:34:29 GMT</pubDate>
    <description>&amp;gt; у вас проверка в nginx в секции https стоит, потому для https &lt;br&gt;&amp;gt; срабатывает, а для http нет.&lt;br&gt;&lt;br&gt;Это я не совсем неудачно из логов надёргал записей. &lt;br&gt;Проверка и там, и там. И для http, и для https может и сработать, а может и не сработать.&lt;br&gt;&lt;br&gt;Если делать запросы curl с пустым или пробельным UA, то срабатывает как надо и по http, и по https&lt;br&gt;&lt;br&gt;Но периодически присылают что-то, что, как я предполагаю, в логах выглядит как пустой UA, но для nginx таковым не является. &lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (eRIC)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#6</link>
    <pubDate>Wed, 14 Jul 2021 11:04:56 GMT</pubDate>
    <description>&amp;gt; Но иногда это срабатывает: &lt;br&gt;&amp;gt; 135.125.245.246 https://domain.tld - &#091;08/Jul/2021:03:55:44 +0300&#093; &quot;POST / HTTP/1.1&quot; &lt;br&gt;&amp;gt; 444 0 &quot;-&quot; &quot;-&quot; 0.000 &lt;br&gt;&lt;br&gt;И&lt;br&gt;&lt;br&gt;&amp;gt; Но &lt;br&gt;&amp;gt; 193.70.3.242 http://domain.tld - &#091;07/Jul/2021:00:28:18 +0300&#093; &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; 400 &lt;br&gt;&amp;gt; 150 &quot;-&quot; &quot;-&quot; 0.044 &lt;br&gt;&amp;gt; Почему он здесь отвечает 400 ?&lt;br&gt;&lt;br&gt;у вас проверка в nginx в секции https стоит, потому для https срабатывает, а для http нет.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#5</link>
    <pubDate>Tue, 13 Jul 2021 12:25:21 GMT</pubDate>
    <description>&amp;gt;&amp;gt; скорее всего поток управления туда и не доходит, и в моих кодовых &lt;br&gt;&amp;gt;&amp;gt; базах тоже бы не дошло &lt;br&gt;&amp;gt; Спасибо, конечно, что вы мне отвечаете, но я не думаю, что nginx &lt;br&gt;&amp;gt; протянул бы столько лет с такой замечательной логикой сравнения строк, как &lt;br&gt;&amp;gt; вы описали...&lt;br&gt;&lt;br&gt;Тады копать на предмет логики обработки конфигов и/или цепочки дeфолтных обработчиков&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (TyLLIKAH)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#4</link>
    <pubDate>Tue, 13 Jul 2021 11:49:30 GMT</pubDate>
    <description>&amp;gt; скорее всего поток управления туда и не доходит, и в моих кодовых &lt;br&gt;&amp;gt; базах тоже бы не дошло &lt;br&gt;&lt;br&gt;Спасибо, конечно, что вы мне отвечаете, но я не думаю, что nginx протянул бы столько лет с такой замечательной логикой сравнения строк, как вы описали...&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; ... *str=&apos;&#092;0&apos;) &#123; ихБинПесец( 01 ); return; &lt;br&gt;&lt;br&gt;Пустая строка - это вполне себе легитимная строка. Какой песец ? Не надо так!&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#3</link>
    <pubDate>Tue, 13 Jul 2021 10:32:18 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Почему он здесь отвечает 400 ?&lt;br&gt;&amp;gt;&amp;gt; man strlen и думаем над &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; &lt;br&gt;&amp;gt; Спасибо, Капитан! строка &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; нулевой длины по strlen, равна &quot;&quot; по strcmp &lt;br&gt;&amp;gt; и не входит во множество констант GET&amp;#124;POST&amp;#124;HEAD и, тем не менее, &lt;br&gt;&amp;gt; правило не срабатывает.&lt;br&gt;&lt;br&gt;скорее всего поток управления туда и не доходит, и в моих кодовых базах тоже бы не дошло&lt;br&gt;&lt;br&gt;1. if (str == NULL &amp;#124;&amp;#124; *str=&apos;&#092;0&apos;) &#123; ихБинПесец( 01 ); return; &#125; // &amp;lt;= САМОЕ БАЗОВОЕ&lt;br&gt;2. if (!isValidUTF8(str)) &#123; ихБинПесец( 02 ); return; &#125;&lt;br&gt;3. if (!isAllowedCharset( str, charset )) &#123; ихБинПесец( 03 ); return; &#125;&lt;br&gt;n. if (!...) &#123; ихБинПесец( n ); return; &#125;&lt;br&gt;&lt;br&gt;Тады копать сорцы на предмет логики обработки и цепочки дeфолтных обработчиков&lt;br&gt;if ($request_method !~ ^(GET&amp;#124;POST&amp;#124;HEAD)$ ) &#123;&lt;br&gt;    return 444;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>nginx не отвечает 444 (TyLLIKAH)</title>
    <link>https://opennet.ru/openforum/vsluhforumID8/8270.html#2</link>
    <pubDate>Tue, 13 Jul 2021 09:49:05 GMT</pubDate>
    <description>&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Почему он здесь отвечает 400 ?&lt;br&gt;&amp;gt; man strlen и думаем над &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; &lt;br&gt;&lt;br&gt;Спасибо, Капитан! строка &quot;&#092;x00&#092;x00&#092;x02&#092;x00&quot; нулевой длины по strlen, равна &quot;&quot; по strcmp и не входит во множество констант GET&amp;#124;POST&amp;#124;HEAD и, тем не менее, правило не срабатывает.&lt;br&gt;</description>
</item>

</channel>
</rss>
