Edycja dla przyszłych czytelników: Niestety, bounty przyznawane odpowiedź nie działa; nic teraz nie mogę zrobić. Ale czytać moja własna odpowiedź poniżej (podczas testów) - potwierdzone pracować z minimalnym kodu zmieniaWyłączyć certyfikat klienta SSL na * niektórych * kontrolerach WebAPI?
Mamy Chmura usługi Azure (WebRole), która znajduje się w całości w ASP.NET WebAPI 2.2 (nie MVC, przedni koniec jest kątowa). Niektóre z naszych kontrolerów/punktów końcowych REST rozmawiają z zewnętrzną usługą w chmurze za pośrednictwem protokołu SSL (certyfikat uwierzytelnienia klienta/wzajemnego uwierzytelniania), a pozostałe kontrolery/punkty końcowe rozmawiają z interfejsem HTML5/AngularJS, także za pośrednictwem protokołu SSL (ale bardziej tradycyjnego uwierzytelniania serwera). SSL). Nie mamy żadnego punktu końcowego bez SSL. Mamy włączone SSL Client poprzez zadania startowego chmura usług takich jak:
IF NOT DEFINED APPCMD SET APPCMD=%SystemRoot%\system32\inetsrv\AppCmd.exe
%APPCMD% unlock config /section:system.webServer/security/access
Issue: To ustawienie jest w całej witrynie, więc nawet gdy użytkownicy trafić na pierwszą stronę (słownie https://domain.com, zwraca index.html dla angularjs) ich przeglądarka prosi o certyfikat SSL klienta. (Zdjęcie poniżej)
Jeżeli istnieje sposób, aby zarówno
- ograniczyć żądania certyfikatów SSL klienckim tylko kontrolery WebAPI że rozmawiać z 3rd party cloud usługi?
LUB
- Pomiń uwierzytelniania klienta SSL dla naszych Czo zasilania kontrolerów WebAPI?
web.config naszym serwerze jest skomplikowany, ale odpowiedni fragment kodu jest poniżej:
<system.webServer>
<security>
<access sslFlags="SslNegotiateCert" />
</security>
</system.webServer>
A zrzut ekranu z klientem trafienia regularny WebAPI końcowy jeszcze próbuje klienta uwierzytelniania SSL (zdarza się w każdej przeglądarki, Chrome , Firefox lub IE)
Czy możesz wyświetlić wynik serverWebConfig i aplikację WebConfig? –
witryna serwera.config powyżej, aplikacja webconfig nie istnieje, ponieważ aplikacja kliencka jest przeglądarką – DeepSpace101
Myślę, że to pytanie byłoby lepiej dopasowane do błędu serwera. –