Как требовать MTLS только для определенных API ASP.NET CORE на одном и том же сайте IIS, одновременно разрешая локальныеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как требовать MTLS только для определенных API ASP.NET CORE на одном и том же сайте IIS, одновременно разрешая локальные

Сообщение Anonymous »

Название: Как потребовать MTLS только для конкретных основных API ASP.NET на одном и том же сайте IIS, одновременно позволяя локальным (сервер-внутренним) вызовам без TLS? То же самое. Я хотел бы, чтобы потребовался взаимные TLS (MTLS) для моих маршрутов API, но не для остальной части применения. Кроме того, мне нужны локальные запросы (например, от того же сервера или внутреннего процесса), чтобы все еще назвать мои API без , предоставляя клиентский сертификат. оставив родительского с sslflags = "none" . К сожалению, это не работает, как я ожидал:

[*] При внешнем просмотре на мои маршруты API IIS не требует сертификата. Требуется сертификат. < /li>
Даже если сертификат клиента не является обязательным (

Код: Выделить всё

SslNegotiateCert
), локальные вызовы не выполняются, если не предоставлен сертификат. Требование для локальных вызовов/api/....
[*] Другие маршруты (например,/,/home и т. Д.) остаются доступными без сертификата.

.-основанные на параметрах в web.config для sslflags только по пути/api (с ssl, sslnegotiatecert, sslrequirecert ). Но современные TLS, как правило, не пересматривает среднее соединение, поэтому клиент никогда не предлагается для сертификата, если первоначальное рукопожатие было сделано для пути, который не требует этого. /> [*] Создание политик на основе маршрутов в коде (работает, если sslflags = "sslnegotiatecert" глобально, но внешние клиенты могут пропустить сертификат, если они хотят, если я не блокирую их в своем коде с 403, но я также блокирует локальные вызовы). Proxy [/b] Если вы хотите применять TLS по -разному на имя хоста или порт. Но в моем случае у меня есть только один сайт и одно имя хоста. Разделение API на совершенно отдельное приложение или привязку возможно, но я хотел бы избежать его, если смогу. < /P>
Вопрос: < /strong>

Есть ли способ настроить только хостинг IIS, так что: < /p>

< /strong> api /ap-код /api /api /api api /api /ap-api /ap client cert at the handshake,

[*]Local requests to /api/... (e.g., localhost or 127.0.0.1) do not[/b] require a cert,
The rest of the site remains accessible without a cert,

without splitting the APIs into a Отдельное приложение или сайт?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... is-site-wh
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»