А вообще, можно вот так сделать:<br><br><span style="font-family: courier new,monospace;">perl_require &quot;Digest/MD5.pm&quot;;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">perl_set $uuid &#39;sub {</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        my $r = shift;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        my $uuid = &quot;&quot;;</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        if (($r-&gt;header_in(&quot;Cookie&quot;)||&quot;&quot;) =~ /\buuid=([^;]+)/) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                $uuid = $1;</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        } else {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                my $domain = $r-&gt;header_in(&quot;Host&quot;);</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">                if ($domain !~ /\bstatic\./s &amp;&amp; $domain =~ /(\w+ \. \w+)$/xs) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                        $domain = $1;</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">                        $uuid = Digest::MD5::md5_hex(&quot;super-secret&quot; . time() . int(rand(2000000000)));</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                        $r-&gt;header_out(<br>

                            &quot;Set-Cookie&quot;, <br>                            &quot;uuid=$uuid; expires=Wed, 08 Jul 2037 22:53:52 GMT; domain=.$domain; path=/&quot;<br>                        );</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">                        $r-&gt;header_out(&quot;P3P&quot;, q{policyref=&quot;/w3c/p3p.xml&quot;, CP=&quot;CUR ADM OUR NOR STA NID&quot;});</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">                }</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        }</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        return $uuid;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}&#39;;</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># Run uuid calculation &amp; header set (use its side-effect: header</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"># X-Uuid is not used, we only need to execute $uuid-bound Perl code).</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">add_header X-Uuid $uuid;</span><br>

<span style="font-family: courier new,monospace;"><br>...</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># Add uuid fo access_log.</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">log_format  main &#39;... &quot;$uuid&quot;&#39;;</span><br style="font-family: courier new,monospace;"><br><br>Вроде это работает и даже не очень сильно замедляет скорость (на тестовой пустой странице дало где-то 2800 запросов в секунду вместо 3000). <br>

Правда, в боевых условиях пока не проверял, только wget-ом пробил 2 варианта (когда есть кука uuid и когда нет).<br><br><br><br><br><div class="gmail_quote">2010/4/9 Dmitry Koterov <span dir="ltr">&lt;<a href="mailto:dmitry@koterov.ru">dmitry@koterov.ru</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Вот такой конфиг не срабатывает - выставляет куку с &quot;domain=$base_domain&quot; (прямо вот такой строкой):<br>

<br><span style="font-family: courier new,monospace;">set $base_domain &quot;none&quot;;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">if ($http_host ~* &quot;([^.]+\.[^.]+)$&quot;) {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    set $base_domain $1;</span><br style="font-family: courier new,monospace;">


<span style="font-family: courier new,monospace;">}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">...</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">userid_domain $base_domain;</span><br>


<br>А очень жалко. Ведь могут быть блоки server, которые обрабатывают сразу много доменов, и неправильно было бы захардкодить имя домена в директиве userid_domain.<br><br>Можно ли с этим что-то сделать?<br>
</blockquote></div><br>