2011-12-13 3 views
2

wcf 서비스가로드되어 있고 wsdl 링크가 http를 통해 작동합니다. https를 시도하면 서비스 페이지가로드됩니다 (ssl cert는 ok 등). 내 문제는 wsdl에 대한 링크가 SSL을 통해 요청되었을 때 403을 반환한다는 것입니다.HTTPS를 통한 WCF WSDL 반환 403 금지됨

http://www.codemeit.com/wcf/wcf-wsdl-xsdimport-schemalocations-link-to-local-machine-name-not-domain-name-while-hosted-in-iis.html

http://www.jstawski.com/archive/2008/05/01/wcf-wsdl-location-address-with-https.aspx

http://gavinmckay.wordpress.com/2009/03/24/howto-fix-wcf-host-name-on-iis/

는하지만, 내 HTTP 및 HTTPS URL이 동일 (마이너스가 http :

나는 호스트 헤더에 관련 게시물의 수를 발견했다/https), 내 호스트 헤더가 문제가되지 않습니다. 그 wsdl (도메인 이름 대신 컴퓨터 이름)에 대한 잘못된 URL을 생성하는 것 같다,하지만 내 문제는 (내 도메인 이름이 올바른지) 생각하지 않습니다.

+0

서버 측 인증서를 설정 했습니까? –

+0

https로 액세스 할 때 서비스 페이지를 볼 수 있습니까? – Rajesh

+0

예, 인증서가 설정되었습니다. 예, https로 볼 수 있습니다. – Roger

답변

1

충돌하는 오류가 발생했습니다. Visual Studio Development Server를 사용하여 iis 대신 Visual Studio Development Server를 사용하여 다음과 같은 오류가 발생했습니다.

ServiceMetadataBehavior의 HttpsGetEnabled 속성이 true로 설정되어 있고 HttpsGetUrl 속성이 상대 주소이지만 https 기본 주소가 없습니다. https 기본 주소를 제공하거나 HttpsGetUrl을 절대 주소로 설정하십시오.

그 결과 httpsGetUrl을 web.config에 추가 할 수있었습니다. 제작 과정에서 원하는 URL과 일치하더라도 모두 제거하면 문제가 해결되었습니다.