Asp.net

IIS URL 重寫:403 - 禁止:訪問被拒絕

  • July 27, 2020

我安裝IIS URL Rewrite 2.0並添加了一條規則,將所有 http 連結重定向到 https。這是我的Web.Config程式碼:

<rewrite>
       <rules>
           <rule name="REdirect To HTTPS" stopProcessing="true">
               <match url="(.*)" />
               <conditions>
                   <add input="{HTTPS}" pattern="^OFF$" />
               </conditions>
               <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
           </rule>
       </rules>
   </rewrite>

一切看起來都很好。但是當我使用 http 訪問我的網站時,它會引發 403 錯誤。

403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.

IIS 7.5 啟用了 TLS 1.0。

我在哪裡可以獲得更多關於它到底是什麼類型的 403 錯誤的資訊?

在 IIS 中啟用了 SSL。我剛剛在某處讀到,在Require SSL使用 URL Rewrite 2.0 時需要取消選中SSL 設置。

我取消選擇Require SSL並點擊應用。它現在工作正常。

我遇到了同樣的錯誤;這是我的解決方案,以防它幫助其他人。

我的規則是將進入預設網站的根應用程序 ("/") 的 URL 重寫為 “/public”,但我收到了 403 錯誤。如果我直接請求,“/public”應用程序執行良好,如果我禁用重寫規則,它也執行良好,因此權限不存在問題。

如先前的答案所述,未選中“要求 SSL”。

查看 IIS 日誌文件,我發現錯誤的具體形式是 403.18 -“無法在目前應用程序池中執行請求的 URL”。

需要為網站的根應用程序分配與您向其發送請求的應用程序相同的應用程序池。

引用自:https://stackoverflow.com/questions/37613359