2010-02-10 49 views
3

我在這裏問類似的問題:IIS休息了僅HTTPS

How to enforce one method in WCF Rest to be called via https, while others can be called over http

而且它不會像它有可能在代碼方面。是否可以將整個服務設置爲僅通過HTTPS進行調用?我使用下面的綁定配置的服務:

<webHttpBinding> 
    <binding name="webBinding" 
    maxBufferSize="152428800" maxReceivedMessageSize="152428800" 
    receiveTimeout="00:10:00"> 
     <readerQuotas maxStringContentLength="152428800" 
       maxArrayLength="152428800" 
       maxBytesPerRead="4096"/> 
     <security mode="Transport"> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </webHttpBinding> 

但是當我嘗試通過HTTP調用一個簡單的服務,該服務高高興興地返回結果,而不是返回某種異常。我需要將IIS配置爲僅處理https請求嗎?有沒有人試過這個?

謝謝!

回答

1

您是否將IIS配置爲在您的應用程序文件夾上需要SSL? (您可以將其設置爲允許ssl或強制使用)

+0

我最終將服務拆分爲子文件夾中的「安全」服務,並要求在該文件夾中使用ssl。這似乎運作良好。 – Mike 2010-02-10 23:08:29

0

您可以隨時使用完全限定的https地址向您的服務條目添加顯式端點。如果IIS擁有一個明確的地址,IIS宿主總是自動添加基地址,但即使這樣做,您也可以對ServiceHostFactory進行簡單的擴展以「吃」默認的基地址IIS供應(引用您的自定義servicehostfactory在.svc文件的Factory屬性中)。然後它只會回答你在配置中提供的確切地址。

0

可以通過配置。 Blog Article並不是您的確切場景(通過https進行文件傳輸),但它顯示了示例配置和代碼,用於配置和使用應該有用的https Web服務。