2017-07-02 56 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该目录。