2017-07-02 58 views
2

這是以前的一個分支,懸而未決questionASPNetCore MVC路由讓服務器處理特定的路線

在遠程虛擬主機,我是一個用戶。這是一個共享的宿主環境。主機使用Plesk,我試圖修復我的AspNetCore應用程序,讓我們的加密的安裝和自動更新。

我認爲AspNetCore應用程序正在干擾Let's Encrypt安裝和自動續訂,因爲我可以創建一個空白站點並安裝讓我們毫不費力地加密證書,並且當我使用'quickstart'創建新網站時AspNetCore應用程序,安裝和更新失敗。

我懷疑主機可能被配置爲將所有請求路由到./well-known/目錄到我無權訪問的虛擬目錄(等待來自主機的響應)。

我一直被引導到的所有解決方案,或者提供了對服務器的某種形式的管理訪問,這對我來說不是解決方案。我是一名用戶。

其中一個解決方案是配置路由,並讓應用程序提供請求的質詢密鑰。由於我沒有訪問(可能)別名目錄,所以我不能讓MVC以這種方式處理路由。

我唯一能想到的是以某種方式配置MVC路由,以便當它收到/.well-known/的請求時將請求傳遞給服務器。爲了確保MVC路由不會干擾,文字傳遞路由不會執行任何操作,但不會停止請求,只會讓服務器處理請求。這可能嗎?

+0

我不知道Plesk,但在IIS web.config文件中,您必須爲Let's Encrypt添加規則。默認情況下,靜態文件將從/ wwwroot子目錄提供,因此請求可能會路由到/wwwroot/.well-known並生成404s。 – GeorgDangl

+0

這涵蓋在其他職位。我的主機虛擬目錄中沒有/.well-known/文件夾可見,所以是的,我已經檢查了wwwroot子文件夾以及所有的子目錄,這就是爲什麼我相信它是配置服務器端別名的原因。我無法更改服務器配置,也不相信主機會更改其配置。所以要麼找到解決辦法,要麼轉換託管提供商。 –

回答

2

主機找到了解決方案。這是一個IIS配置的東西。

在目錄./.well-known/創建一個文件名爲web.config

的web.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers> 
      <remove name="aspNetCore" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

我不知道究竟這是什麼做的,但它看起來像它從加工到任何電話不包括aspNetCore該目錄。