1) если у пользователя сертификата нет - ок, пускаем его так
2) если сертификат предъявил (раз сервер его спрашивает), то независимо от того, можем мы его проверить или нет - пускаем (но фиксируем успешность проверки в nginx-овых переменных)
я так понимаю, что с ssl_verify_client on/off я пролетаю и надо смотреть в сторону ssl_verify_client optional ?
в этом случае всё почти так, как я хочу, но если клиентский сертификат проверить не удалось (допустим, он выдан каким-то УЦ для клиент-банка, которого у меня сроду нет), то я получаю 400-ю ошибку.
дальше по логике надо бы эту ошибку перехватить и тупо пробросить на прокси, но почему-то следующая конструкция в данном случае не работает: