You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Azure App Service以允许下载*.config文件

解决方案

你之前仅配置MIME类型不生效的核心原因是:Azure App Service Windows环境默认使用IIS托管站点,IIS默认在请求过滤规则里直接禁止了.config后缀的文件对外访问,该规则优先级比MIME类型配置更高,仅添加MIME规则不会生效。

方案1:修改web.config同时配置请求过滤和MIME类型

在站点根目录的web.config里同时添加如下配置,先解除.config的访问限制,再配置对应MIME类型即可:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <!-- 解除.config文件的默认请求过滤禁止规则 -->
    <security>
      <requestFiltering>
        <fileExtensions>
          <remove fileExtension=".config" />
          <add fileExtension=".config" allowed="true" />
        </fileExtensions>
      </requestFiltering>
    </security>
    <!-- 配置.config文件对应的MIME类型 -->
    <staticContent>
      <remove fileExtension=".config" />
      <add fileExtension=".config" mimeType="text/xml" />
    </staticContent>
  </system.webServer>
</configuration>

配置完成后重启App Service实例,再验证访问是否正常。

方案2:Linux环境App Service适配方案

如果你的App Service使用Linux托管,IIS规则不会生效,需要根据你使用的Web服务修改对应配置:

  • 若使用Nginx:在Nginx配置文件中删除默认屏蔽.config文件的规则,同时添加types { text/xml .config; }配置,重启Nginx服务即可
  • 若使用Apache:在.htaccess文件中添加针对.config文件的访问允许规则,同时配置AddType text/xml .config

临时验证方案

如果修改配置后仍有问题,可以先将ClickOnce应用中的.config文件后缀改为自定义后缀(如.config_),在应用下载逻辑中修改请求后缀,下载完成后再重命名为.config使用,该方法仅用于排查问题不推荐正式环境使用。

配置完成后直接在浏览器中访问.config文件的URL,能正常返回内容而非404即代表配置生效,此时再启动ClickOnce应用验证下载逻辑即可。

内容的提问来源于stack exchange,提问作者statler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 17:54:02