我正在尝试在带有 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 新手,如何进一步调试?
非常感谢!