簡體   English   中英

使用傳輸的WCF總是在我不希望使用HTTPS時嘗試使用它

[英]WCF using Transport always attempts to use HTTPS when I don't want it to

我不斷收到以下錯誤“找不到與綁定WebHttpBinding的端點的方案https匹配的基地址。注冊的基地址方案為[http]。” 這是因為我通過添加以下內容進入“基本傳輸身份驗證”:

  <webHttpBinding>
    <binding name="secureBasic">
      <security mode="Transport">
        <transport clientCredentialType="Basic" />
      </security>
    </binding>
  </webHttpBinding>

谷歌搜索之后,常見的修復方法似乎是以下代碼,但是我沒有成功:

<baseAddressPrefixFilters>
  <add prefix="http://mywebsiteurl"/>
</baseAddressPrefixFilters>

仍然沒有任何效果。 我只想在非https連接上使用基本的http身份驗證。 我沒有進行任何配置,默認情況下WCF似乎想強制使用HTTPS連接。 有人碰到這個嗎?

如果告訴WCF使用傳輸安全模式,則必須使用支持安全通信的傳輸協議。 HTTP不支持安全通信,因為它是純文本協議(任何攔截您的通信的人都可以簡單地讀取正在傳輸的內容)。 HTTPS確實支持安全通信,因此具有傳輸安全性的webHttpBinding唯一選擇是使用HTTPS(可以在IIS中配置)。

是一篇博客文章,描述您的錯誤以及如何使用TransportCredentialOnly解決錯誤。 它與basicHttpBinding有關,但對webHttpBinding同樣適用。

如果只需要傳輸級身份驗證(=基本身份驗證),但又不想傳輸級安全通信(= HTTPS),則必須將安全模式設置為TransportCredentialOnly。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM