簡體   English   中英

IISExpress 找不到使用 Visual Studio 2013 運行本地主機的 ssl 頁面

[英]IISExpress cannot find ssl page running localhost with Visual Studio 2013

當我以http://localhost:26049訪問該站點時,該站點運行良好。 如果我嘗試使用https://localhost:44319訪問該站點,則會找不到頁面。

這是我的項目屬性:

項目屬性

這是來自我的 IISExpress 應用程序配置:

<site name="MVC Authentication" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="F:\Projects\MySite\Test" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>

為了 g*d 的愛,請嘗試此操作,以免陷入不必要的瘋狂!

(顯然IIS Express為模擬SSL保留了44300 - 44399 的端口范圍)

更改為端口 44300 (https://localhost:44300/)

從這篇文章中得到了解決方案。 不得不刪除所有本地主機證書並修復 IIS Express。 謝謝@沙田

https://stackoverflow.com/a/22818853/853295

確保刪除任何以前的“本地主機”證書,因為這些證書可能與 IIS Express 生成的證書沖突。 我遇到了同樣的錯誤(ERR_SSL_PROTOCOL_ERROR),在嘗試了許多“解決方案”后,我花了好幾個小時才最終弄明白。 我的錯誤是我創建了自己的“本地主機”證書,其中有兩個。 我不得不刪除兩者並讓 IIS Express 重新創建它。

以下是檢查和刪除“本地主機”證書的方法:

在開始,鍵入 -> mmc.exe,文件 -> 添加/刪除管理單元...,選擇證書 -> 添加> -> 計算機帳戶 -> 本地計算機,在證書 > 個人 > 證書下檢查。 確保存在的本地主機證書具有友好名稱“IIS Express 開發證書”。 如果沒有,請將其刪除。 或者如果有多個,則全部刪除。 在 Visual Studio 上,選擇項目並在屬性選項卡下啟用 SSL=true。 保存、構建和運行。 IIS Express 將生成一個新的“本地主機”證書。

注意:如果它不起作用,請嘗試以下操作:確保在 VS 項目上禁用 IIS Express 並在刪除“本地主機”證書之前停止其上所有正在運行的應用程序。 此外,您可以轉到“控制面板> 程序”並修復 IIS Express。

我遵循的解決此問題的步驟(我使用的是 vs2015) 在此處輸入圖片說明

1)進入控制面板

2)添加刪除程序

3)修復IIS Express

4)重新啟動我的電腦

4)接下來進入我的文檔->IIS Express->Config Files

5)復制它們並從那里刪除這些文件

6) 刪除所有項目 C:\\Temp

7)檢查 sln 文件中的 .vs 文件夾並轉到其中的 config 文件夾

8)也復制一份並刪除其中的文件

9)清潔您的解決方案

10)重啟Visual Studio

11)構建並運行

(我從我的同事機器復制了干凈的配置文件 - 在上面提到的位置
1]在文件中
2] .vs 文件夾
我想只要運行 IISExpress,它就會為您重新創建文件。 exe 位於:“c:\\Program Files\\IIS Express\\iisexpress.exe”。 )

看起來 IIS Express 沒有在 https URL 下啟動項目。 嘗試將默認項目 URL 更改為 SSL 中的一個

“Web Project->Properties->Web->Project URL”到帶有https的URL。

在此處輸入圖片說明

在我之前運行的情況下,IIS Express 在 Personal > Certificates 文件夾中添加了一個證書(稱為 localhost)。 但是我在應用程序中收到無效證書錯誤。 因此,我將 localhost 證書移至 Trusted Root...> Certificates,一切都開始工作了。

第二天,當我運行相同的應用程序時,我開始收到此 ERR_CONNECTION_RESET 錯誤。 我所要做的就是將本地主機證書移出受信任的根目錄...> 證書文件夾,然后移回個人 > 證書文件夾。 在此處輸入圖片說明

如果任一文件夾中缺少“localhost”證書,則您必須從“控制面板”>“添加/刪除程序”修復/重新安裝 IIS Express。 這將恢復本地主機證書。

Visual Studio 2015、IIS Express、Windows 8、Asp.net MVC

我在 Chrome 和 Edge 上遇到了這些 SSL 問題。

經過漫長的審查所有這些答案和建議的過程后,最終對我有用的(asp.net mvc 5,VS2015)是上述答案的混合

  1. 如上所示添加證書管理單元,刪除多個證書並重新生成新證書:謝謝@garethb
  2. 那么問題就在於該證書的信任級別。 以下鏈接顯示了導出然后導入(不僅僅是移動)本地證書的分步過程https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis -express-self-signed-certificate/

    1. 關閉所有內容然后重建並部署到 IIS Express 時,我在任何瀏覽器中都不再出現 SSL 錯誤

我有同樣的問題。 我的 HTTP 站點運行良好,但 IIS Express 無法啟動我的 SSL 站點。 雖然前一天做了。

我的問題是我以某種方式弄亂了 aplicationhost.config 文件。 我的項目注冊了兩次:

<site name="Test.Api" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
    </bindings>
</site>
<site name="Test.Api(1)" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
        <binding protocol="https" bindingInformation="*:44349:localhost" />
    </bindings>
</site>

從項目屬性頁面刪除這兩個條目並創建一個新的虛擬目錄為我解決了這個問題。

從屬性頁創建一個新的虛擬目錄

在 VS2017 中,這些選項都沒有對我有用,但有同樣的問題。 這個使用帶有自簽名證書的 iisexpresscmdadmin 的解決方案讓我的網站最終啟動:

如何修復丟失的 IIS Express SSL 證書?

使用 VS 2017,即使在導出證書並導入 Chrome 之后,這些解決方案似乎都不起作用。 在我做了兩件事后,它終於奏效了:(1) 將本地主機證書從 Personal 復制到 Trusted Root (2) 將項目屬性中的端口號從 61899 更改為 44300 我認為只執行步驟 (2) 就可以了。

嘗試更改 IIS 中的綁定

這個鏈接解決了我為期 3 天的間歇性頭痛: https : //deanhume.com/set-up-iis-7-to-run-a-secure-site-locally-https/

以下是導致我發現真正問題的具體步驟:

Windows 鍵 > 管理工具 > Internet 信息服務 > 單擊默認網站(或任何您的網站) > 綁定... > 清除本地主機的所有重復綁定 > 為端口 80 添加 https 綁定

0

我最近在 VS 2019 和 IIS Epress 上遇到了一個非常相似的問題。 我試圖將 http 更改為 https 以便我可以使用 ADFS。 https://i.stack.imgur.com/Kd34a.png

經過更多研究,我嘗試將“需要 SSL”屬性從 true 切換為 false,然后再切換回 true。 這觸發了對 applicationhost.config 文件(... . Vs \\ ProjectName \\ config \\ applicationhost.config)的更新,該文件使用 https 協議的新端口號創建了新的 SSL 綁定。 因此,我使用建議的新端口(在項目的 Web 屬性、配置文件和 ADFS 配置中)修改了所有鏈接,並且它可以工作。 結論,對於同一站點,http 端口不必與 https 相同。

在我的情況下,只需從 Edge 切換到 Chrome 即可立即解決此問題(VS 2019 Pro / Windows 10 最新版)

暫無
暫無

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

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