ASPNetCore MVC路由让服务器处理特定路由

时间:2017-07-02 19:06:20

标签: asp.net-core asp.net-core-mvc plesk lets-encrypt

这是以前未解决的question

的分支

在远程网络主机上,我是用户。这是一个共享的托管环境。主机使用Plesk,我正在尝试修复我的AspNetCore应用程序以允许Let's Encrypt的安装和自动续订。

我很肯定AspNetCore应用程序正在干扰Let的加密安装和自动续订,因为我可以创建一个空站点并安装Let的加密证书,并且当我创建一个带有'quickstart'AspNetCore应用程序的新站点时,安装和更新失败。

我怀疑主机可能配置为将所有请求路由到./well-known/目录到我无权访问的虚拟目录(等待来自主机的响应)。

我所指向或提供的所有解决方案都需要对服务器进行某种形式的管理访问,这在我的案例中不是解决方案。我是用户。

其中一个解决方案是配置路由,并让应用程序提供所请求的质询密钥。由于我无法访问(可能)别名目录,因此我不能让MVC以这种方式处理路由。

我唯一能想到的是,以某种方式配置MVC路由,以便在收到/.well-known/请求时将请求传递给服务器。文本传递路由,以确保MVC路由不会干扰,不执行任何操作,但不会停止请求,只允许服务器处理请求。这可能吗?

1 个答案:

答案 0 :(得分: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。