В итоге я установил nginx (Openresty) перед своим сервером и добавил скрипт для получения сертификата клиента и помещения его в заголовок.
Вот часть моей nginx конфигурации :
set_by_lua_block $client_cert {
local client_certificate = ngx.var.ssl_client_raw_cert
if (client_certificate ~= nil) then
client_certificate = string.gsub(client_certificate, "\n", "")
ngx.req.set_header("X-CLIENT-ID", client_certificate)
end
return client_certificate
}
Также возможно извлечь некоторые специфические поля c из сертификата клиента (например, CN, серийный номер и т. Д. c.) Непосредственно внутри конфигурации nginx, но я решил пропустить весь сертификат далее.
Моя проблема решена без использования пулемета, как я изначально хотел, но это единственное хорошее решение, которое я нашел.