Thanks Maxim, If I understand correctly, the uninitialized custom variable is the same as a variable initialized as "". That's why we don't see "-", but only see "". Only internal variables will have the special "-" treatment.
Frank On Mon, Nov 30, 2020 at 4:27 PM Maxim Dounin <mdou...@mdounin.ru> wrote: > Hello! > > On Mon, Nov 30, 2020 at 03:26:59PM -0800, Frank Liu wrote: > > > ok, for testing, I removed the variable from the map, and add one line > in a > > 2-way SSL server config, to create a fresh new variable: > > > > set $test_var "test"; > > > > For a request without client cert (400), I see neither "test", nor "-" in > > the access log for $test_var. I only see blank, as if the $test_var was > set > > to "". > > That's because variables defined due to "set" somewhere in the > configuration default to "" with an optional warning > (http://nginx.org/r/uninitialized_variable_warn). And in your > test the variable is uninitialized, as the set directive is not > executed for the request in question. > > The "-" special value can be seen for various builtin variables, > such as non-existing headers ($http_*, $sent_http_*, > $upstream_http_*), non-existing arguments ($arg_*), cookies > ($cookie_*), $content_length if not available, $remote_user if not > provided or empty, and so on. > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx mailing list > nginx@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx >
_______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx