Я пытаюсь запустить сервер, который может принимать оба запроса grp c с взаимной аутентификацией TLS (tls.RequireAndVerifyClientCert
), и стандартный веб-сервер HTTP, который аутентифицирует запросы на основе заголовка Authorization
.
Мне кажется, что лучше оставить проверку TLS для стандартной библиотеки, поэтому я бы предпочел применить tls.RequireAndVerifyClientCert
для grp c. Однако для веб-приложения браузеры не собираются пересылать клиентский сертификат.
Я пытался использовать что-то вроде this с обработчиком для обслуживания запросов по-разному в зависимости от запроса. К сожалению, сертификат однорангового узла не пересылается обработчику grp c, учитывается только конфигурация tls из веб-приложения (не может сделать оба).
В идеале я также хотел бы сохранить все в 1 двоичном (без обратного прокси).
Видите ли вы решение или вы бы пошли на компромисс и проверили аутентификацию вручную?