HttpPlatformHandler运行Flask应用意外退出,无明确错误求助
IIS搭配HttpPlatformHandler部署Flask应用失败排查求助
此前长期在本地通过IIS搭配FastCGI运行Flask应用,如今因FastCGI已停止维护,计划在EC2的Windows Server 2022镜像上,通过IIS搭配HttpPlatformHandler进行生产环境部署。但始终无法成功,遂暂时放弃实际应用,转而尝试部署一个简单的"Hello World" Flask应用,仍未解决问题。
应用目录结构
C:\inetpub\wwwroot\test\test.py C:\inetpub\wwwroot\test\web.config
web.config配置内容
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" scriptProcessor="C:\Program Files\Python311\python.exe| c:\inetpub\wwwroot\test\test.py" resourceType="Unspecified" requireAccess="Script" /> </handlers> <httpPlatform stdoutLogEnabled="true" stdoutLogFile=".\test.log" startupTimeLimit="20" processPath="C:\Program Files\Python311\python.exe" arguments=".\test.py"> <environmentVariables> <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" /> </environmentVariables> </httpPlatform> <tracing> <traceFailedRequests> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="500-600" /> </add> </traceFailedRequests> </tracing> </system.webServer> </configuration>
test.py应用代码
from flask import Flask app = Flask(__name__) @app.route('/') def main(): return "Hello World"
已尝试的操作与确认项
- 曾将
scriptProcessor设置为"C:\Program Files\Python311\python.exe",问题依旧(此前FastCGI环境下通过管道指定test.py可行,故尝试此方式) - 已确认权限:
IIS AppPool\DefaultAppPool和IIS_IUSRS账户对Python311文件夹拥有读取/执行权限,对inetpub\wwwroot\test文件夹拥有读取/写入/执行权限
已查阅教程、StackOverflow帖子及其他资料,未获得有效解决建议,寻求排查方向。
内容的提问来源于stack exchange,提问作者oonec
相关产品推荐
相关产品推荐

