我们有一个.net核心Web应用程序,该应用程序仅托管一些客户端应用程序更新的文件。
我们决定在其中一个客户端应用程序中添加应用程序见解,并且文件ApplicationInsights.config是更新的一部分。
对https://server/path/to/update/ApplicationInsights.config的请求引发404错误。
到目前为止,我已经尝试过:
这似乎与一些现成的请求过滤有关。
问题是:
如何禁用特定文件夹上的所有下载限制(最佳)
OR
如何禁用* .config文件的所有过滤
提前谢谢
答案 0 :(得分:3)
这是因为默认的FileExtensionContentTypeProvider
不提供*.config
文件的映射。
要使其提供*.config
文件,只需创建自己的ContentTypeProvider
或为*.config
添加映射:
var myContentTypeProvider= new FileExtensionContentTypeProvider();
myContentTypeProvider.Mappings.Add(".config","text/plain");
app.UseStaticFiles(new StaticFileOptions{
RequestPath = "/path/to/update",
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(),"path/to/update"),
ExclusionFilters.None
),
ContentTypeProvider = myContentTypeProvider,
});
[更新]
讨论后,以下Web.Config
(由OP负责)有效
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".config" />
<add fileExtension=".config" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>