2010-05-06 5 views
2

ASP.NET과 ASP.NET 클라이언트에서 웹 서비스를 사용하고 있습니다. 웹 서비스를 사용할 때 클라이언트가 https를 사용하도록 강제하는 방법은 무엇입니까?ASP.NET - 웹 서비스 사용 - https 만 - 어떻게?

나는 IIS에서 SSL을 요구함으로써 전체 사이트가 https를 사용하도록 강요하고 싶지 않습니다.

IIS7 URL 다시 쓰기 모듈을 사용하여 http 요청을 https로 다시 라우팅 할 수 있습니까?

답변

3

아니요, URL 재 작성을 사용하여 프로토콜을 변경할 수 없습니다.

대신 웹 서비스에 체크를 삽입하고 프로토콜이 HTTP 인 경우 예외를 throw 할 수 있습니다.

3

가상 디렉터리에 웹 서비스를 추가하고 가상 디렉터리에 SSL을 사용하도록 할 수 있습니까? 표도르는 제안으로 웹 서비스 호출 내부 점검과 함께, 당신은 매우 깔끔하지 비록, 당신의 global.asaxApplication_BeginRequest에 체크를 추가 할 수 있습니다 내가 설정하는 방법을 찾고 시도

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (!Request.IsSecureConnection && Request.Url.ToString().Contains(".asmx")) 
    { 
     string secureUrl = Request.Url.ToString().Replace("http:", "https:"); 
     Response.Redirect(secureUrl); 
    } 
} 
+0

가상 디렉터리에 SSL이 필요하지만, IIS 7.5에서 사이트에 대해서만 수행 할 수있는 것처럼 보입니다. 틀렸을 경우 수정하십시오. – Steve

+0

이 기술 문서를 살펴보십시오. 개별 페이지 수준에서 require ssl을 지정할 수있는 것으로 보입니다. http://technet.microsoft.com/en-us/library/cc732367(WS.10).aspx –