Один из подходов, от @ mar c, - создать по одному http.Client
на каждый сервер для общения (или, по крайней мере, по одному клиенту на клиентский сертификат).
Но ограничение в том, что это сложно чтобы установить параметры для http.Transport
, например MaxIdleConns
. Другим ограничением является динамическое обновление или использование новых сертификатов.
Углубившись в исходный код Golang -1.14.5, возможно, http.Transport.DialTLSContext
сможет удовлетворить требование, которое может создать соединение TLS (сертификат взят из контекста ) на уровне запроса. Есть ли у кого-нибудь идеи или комментарии по поводу этого подхода? Одним из недостатков является то, что настроить функции DialTLSContext () немного сложно, потому что для них хорошо реализованы базовые функции.