IIS 上的 Django:调试由于大文件上传上的 FastCGI 请求超时而导致的 IIS 错误

2024-05-23

我正在尝试在带有 IIS 10 和 FastCGI 的 Windows 10 计算机上托管 Django Web 应用程序。 虽然到目前为止一切都运行良好,但我在上传较大文件(~120MB)时遇到了某些 POST 请求的问题,即 HTTP 500 错误。我现在不知道如何进一步调试。

我通过增加请求限制解决了错误“413.1 - 请求实体太大”。但是,现在我收到一个 HTTP 错误,内容如下:

C:\Apps\Python3\python.exe - The FastCGI process exceeded configured request timeout

超时设置为 90 秒,我可以看出,文件上传完成后,我的浏览器正在等待服务器的响应。

在 Django 视图中不需要执行太多操作来响应请求。如果我在同一台计算机上运行 django 开发服务器,则响应将在文件上传后几秒钟内发送。 IIS 发送 HTTP 500 响应所需的持续时间延长了 1 分钟以上。

我在 post() 方法中的 Django 视图中添加了一些代码,以便在调用该方法时向文件中写入一些内容:

def post(self, request, *args, **kwargs):
    with open(os.path.join(settings.REPORT_DIR, "view_output.txt"), "w") as f:
        f.write("tbd.")
(...)

但是,尽管此操作在其他 Django 视图中有效,但它永远不会执行。因此,我假设 IIS 处理请求时出现问题。

我启用了 FREB 日志记录,但对解释有点迷失。 “错误和警告”仅说明 LOG_FILE_MAX_SIZE_TRUNCATE 事件,可能是由于较大的请求。

由于我是 IIS 新手,如何进一步调试?

非常感谢!


要解决该问题,您可以按照以下步骤操作:

IIS 默认文件上传大小为 30mb(30000000 字节),通过使用以下命令增加此值:

  • 打开 IIS 管理器,选择您的站点。

  • 双击中间窗格中的请求过滤功能。

  • 从屏幕右侧的“操作”窗格中,单击“编辑功能设置...”链接。
  • 在“请求限制”部分中,输入适当的最大允许内容长度(字节),例如 2147483648,这意味着 2GB,然后单击“确定”按钮。
  • 单击“确定”并应用设置,然后返回。

    增加站点连接超时:

  • 打开 Internet 信息服务 (IIS) 管理器。

  • 展开本地计算机节点,展开网站,右键单击相应的网站,指向管理网站,然后单击高级设置。

  • 在“高级设置”窗口中,展开“连接限制”,更改“连接超时”字段中的值,然后单击“确定”。

应用程序池设置:

  • 打开 IIS。
  • 在左侧选择“应用程序池”
  • 在右侧,右键单击该应用程序池并选择高级设置。
  • 在高级设置中,增加“空闲超时(分钟)”。

CGI 超时:

  • 在IIS中,双击CGI图标并增加“超时”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS 上的 Django:调试由于大文件上传上的 FastCGI 请求超时而导致的 IIS 错误 的相关文章

随机推荐

  • Fast R-CNN 中 ROI 层的用途是什么?

    In this https leonardoaraujosantos gitbooks io artificial inteligence content object localization and detection html关于目标
  • 将文本字段限制为仅包含数字的最佳方法?

    I m using the following Javascript to restrict a text field on my website to only accept numerical input and no other le
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • Rust 枚举中 str/String 值的最佳实践是什么?

    我有一个非常赏心悦目的东西 但我担心它的含义 derive Eq PartialEq Debug pub enum SmtpHost DOMAIN String IPV4 Ipv4Addr IPV6 Ipv6Addr UNKNOWN lab
  • 如何监听第三方应用程序触发的数据库更改

    我需要将 Ruby on Rails 应用程序与第 3 方应用程序集成 该应用程序将共享一个公共 PostgreSQL 数据库 也就是说 Rails 应用程序和第 3 方应用程序将使用相同的 PG 数据库 是否可以在 Rails 应用程序中
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 如何使用 C# SDK 更新 Facebook 访问令牌

    我正在使用 Facebook C SDK 来获取尽可能多的数据 例如帖子 评论 用户信息 尽可能来自 Facebook 但我的程序在我的访问令牌在一段时间后过期后停止 我必须重新启动程序 我从以下位置获取了访问令牌Facebook 开发者工
  • Angular 2 将字符串转换为 md5 哈希

    我找到了ts md5 https www npmjs com package ts md5包 但在示例中它有一个hashStr方法 但现在不行了 类型上不存在属性 hashStr Md5 使用该错误后 该错误会记录在我的控制台中 我怎样才能
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 在 bash 中从文件中读取星号字符 (*)

    我正在从 txt 文件中获取行 说输入 txt a b 然后我正在阅读它 bin bash file 1 ans 0 while read r line n line do echo line done lt file passing th
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 将错误消息添加到@Html.ValidationSummary

    我使用标准 MVC3 Razor 视图和不显眼的 Javascript 验证 使用 Html ValidationSummary将它们显示在表单顶部 如果标准验证 例如 Required 通过 然后我运行一些非常自定义的客户端验证 当用户点
  • AttributeError:“模块”对象没有属性[重复]

    这个问题在这里已经有答案了 我有两个 python 模块 a py import b def hello print hello print a py print hello print b hi b py import a def hi
  • 将基本的 Node.js 应用程序部署到 openshift 在 git Push 上出现错误

    我使用 openshift 网站上的过程设置了一个默认节点应用程序 在我的 ubuntu 盒子上做了一个 git 克隆 编辑了readme md 做了一次提交 并尝试推送到仓库 出现很多 npm fetch failed 错误 以及很多 E
  • 批处理文件并与数据库比较

    目前我正在开发一个 Spring Boot 应用程序 该应用程序定期尝试处理包含用户数据的文件 其中每行都包含userId and departamentId隔开 例如123534 13 该文件将包含数百万条记录 我的要求是以这样的方式将此
  • IIS 上的 Django:调试由于大文件上传上的 FastCGI 请求超时而导致的 IIS 错误

    我正在尝试在带有 IIS 10 和 FastCGI 的 Windows 10 计算机上托管 Django Web 应用程序 虽然到目前为止一切都运行良好 但我在上传较大文件 120MB 时遇到了某些 POST 请求的问题 即 HTTP 50