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

在IIS上部署Django Web应用出现403.14禁止访问错误如何解决

问题解决方案

这个报错和IIS默认文档配置无关,Django采用动态路由机制,所有请求都需要转发给WSGI处理程序解析,不需要依赖IIS的静态默认文档规则。你遇到的403.14错误是因为FastCGI处理规则配置错误,导致根路径请求没有被转发到Django,触发了IIS的目录访问校验。

第一步:修正web.config配置

直接替换为以下正确配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
          <!-- 修正path参数,原配置多了反斜杠,导致所有请求没有被正确匹配到FastCGI处理 -->
          <add name="Python FastCGI" path="*" verb="*" modules="FastCGIModule" scriptProcessor="c:\python38\python.exe|c:\python38\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
        <!-- 移除多余的defaultDocument配置,Django动态路由不需要IIS默认文档 -->
        <directoryBrowse enabled="false" />
    </system.webServer>

    <appSettings>
        <add key="PYTHONPATH" value="C:\inetpub\wwwroot\CED_HRAP" />
        <add key="WSGI_HANDLER" value="CED_HRAP.wsgi.application" />
        <add key="DJANGO_SETTINGS_MODULE" value="CED_HRAP.settings" />
    </appSettings>
</configuration>

第二步:完成必要校验项

  • 以管理员身份启动命令提示符,执行wfastcgi-enable命令,确认返回的FastCGI路径和web.config中scriptProcessor参数的路径完全一致。
  • 给项目目录C:\inetpub\wwwroot\CED_HRAP添加IIS访问权限:右键文件夹→属性→安全→编辑→添加,添加IUSR和你的站点对应应用池用户,授予「读取 & 执行」「列出文件夹内容」「读取」权限。
  • 打开Django配置文件C:\inetpub\wwwroot\CED_HRAP\CED_HRAP\settings.py,确认ALLOWED_HOSTS参数已经添加了你访问站点使用的域名、IP地址,例如ALLOWED_HOSTS = ['127.0.0.1', '你的站点域名']。
  • 如果需要IIS处理Django静态资源,先运行python manage.py collectstatic收集静态文件,再在IIS中给站点添加名为static的虚拟目录,指向收集后的静态文件存放路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:27:03