Faça com que seu /_private
local tenha precedência sobre a correspondência de expressão regular:
location ^~ /_private {
É isso.
A documentação do nginx tem boas informações sobre qual bloco de localização será aplicado a uma determinada solicitação. Para citar:
- Directives with the "=" prefix that match the query exactly. If found, searching stops.
- All remaining directives with conventional strings. If this match used the "^~" prefix, searching stops.
- Regular expressions, in the order they are defined in the configuration file.
- If #3 yielded a match, that result is used. Otherwise, the match from #2 is used.