2012-01-03 43 views
16

Tôi đang làm việc với ứng dụng SSL và muốn kiểm soát thư mục nào bị bỏ qua, yêu cầu hoặc chấp nhận chứng chỉ ứng dụng khách.Cài đặt chứng chỉ ứng dụng khách có thể được định cấu hình trong web.config

Mục tiêu cuối cùng là có một thư mục con của webApp bỏ qua chứng nhận ứng dụng khách. Tôi không muốn làm điều này thông qua IIS vì nó sẽ phải được nhân rộng trên toàn bộ trang trại.

Bất kỳ ý tưởng nào?

+0

nếu dự án đặc biệt trang web này không yêu cầu IIS sau đó kiểm tra này ra WCF Services http://www.codeproject.com/KB/WCF/wcfcertificates.aspx – MethodMan

+0

IIS 7 trở lên sử dụng web.config để lưu trữ này , vì vậy nếu bạn đặt chúng trong trình quản lý IIS, bạn sẽ thấy app.config của bạn phản ánh nó. – blowdart

Trả lời

23

Bạn có thể sử dụng kết hợp phần accesslocations trong web.config (hoặc web.configs trong các thư mục con thích hợp) để định cấu hình này.

Ví dụ, để yêu cầu một chứng chỉ SSL trong giao diện thư mục, bạn có thể thêm các khối sau đây để phần cấu hình của web.config của bạn:

<location path="Interface"> 
    <system.webServer> 
     <security> 
     <access sslFlags="Ssl,SslRequireCert" /> 
     </security> 
    </system.webServer> 
    </location> 

Lưu ý rằng nếu bạn muốn yêu cầu SSL, bạn phải thêm nó và cờ chứng chỉ thích hợp.

Các giá trị cờ từ tài liệu TechNet là:

Không. Cài đặt mặc định này sẽ tắt SSL cho trang web hoặc ứng dụng.

Ssl. Trang web hoặc ứng dụng yêu cầu SSL.

SslNegotiateCert. Trang web hoặc ứng dụng chấp nhận chứng chỉ ứng dụng khách để xác thực.

SslRequireCert. Trang web hoặc ứng dụng yêu cầu chứng chỉ ứng dụng khách để xác thực. Ssl128. Trang web hoặc ứng dụng yêu cầu mã hóa chứng chỉ SSL 128 bit.

TUY NHIÊN

Phần access không thể được overriden theo mặc định.

Để hỗ trợ điều này, bạn phải sửa đổi applicationHost.config trong C: \ Windows \ System32 \ inetsrv \ config (hoặc thư mục thích hợp cho cài đặt của bạn) và thay đổi dòng sau:

<section name="access" overrideModeDefault="Deny" /> 

để:

<section name="access" overrideModeDefault="Allow" /> 
+1

Tôi cũng phải thêm SslNegotiateCert hoặc có lỗi, vì vậy nó kết thúc như sau:

+0

Tôi đã sử dụng giải pháp của bạn và nó hoạt động tốt trên địa phương và thử nghiệm của tôi envoirment , nhưng trên máy chủ khách hàng, nó cung cấp cho 500 lỗi bạn có thể giúp tôi về điều đó có thể là lý do machien là Server 2012 R2 – Rehan

Các vấn đề liên quan