在 IIS 服务器上部署烧瓶 api 给出错误 0x8007010b 通知:ExecuteRequestHandler
Posted
技术标签:
【中文标题】在 IIS 服务器上部署烧瓶 api 给出错误 0x8007010b 通知:ExecuteRequestHandler【英文标题】:Deploy flask api on IIS server gives error 0x8007010b notification: ExecuteRequestHandler 【发布时间】:2021-03-09 01:01:55 【问题描述】:我必须在 IIS 服务器上部署烧瓶应用程序。配置了处理程序设置,还配置了 IIS 服务器的 fastcgi 模块设置,如下面的教程 https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9 和 https://medium.com/@bilalbayasut/deploying-python-web-app-flask-in-windows-server-iis-using-fastcgi-6c1873ae0ad8 我配置了除 url 重写设置之外的所有设置。我不知道如何配置它。 当我通过 python IDLE 运行烧瓶应用程序时,它运行良好,并且可以通过浏览器访问应用程序 url。但是 IIS 给出了以下错误
Module FastCgiModule
Notification ExecuteRequestHandler
Handler pythonHandler
Error Code 0x8007010b
我尝试更改功能权限,但它会发出错误通知,例如 MapRequestHandler 和 ExecuteRequestHandler 错误代码:
0x80070005, 0x80070002, 0x8007010b.
跟踪日志中的内容如下:
<failedRequest url="http://localhost:5000/"
siteId="5"
appPoolId="tes_flask"
processId="20452"
verb="GET"
remoteUserName=""
userName=""
tokenUserName="NT AUTHORITY\IUSR"
authenticationType="anonymous"
activityId="80000887-0001-F800-B63F-84710C7967BB"
failureReason="STATUS_CODE"
statusCode="500"
triggerStatusCode="500"
timeTaken="0"
xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
>
【问题讨论】:
【参考方案1】:我认为这可能是权限问题。因为 0x8007010b 表示目录名无效。
-
确保应用程序池的身份具有管理员权限。您可以创建具有管理员权限的用户,也可以直接将其设置为本地系统。
确保应用程序和 FastCgiModule 目录具有读写权限。
【讨论】:
将应用程序池标识设置为本地系统会出现以下错误:HTTP 错误 500.0 - Internal Server Error An unknown FastCGI error occurred Module FastCgiModule Notification ExecuteRequestHandler Handler Python FastCGI Error Code 0x80070005 如何将身份设置为自定义帐户?使用管理员作为自定义帐户。【参考方案2】:为了解决这个问题,我必须为IUSR
用户授予python.exe
的Modify
和Write
权限。
【讨论】:
【参考方案3】:由于某种原因,我无法在帖子下发表评论。然而,安德里亚的帖子向我指出了这个问题。在我的情况下,我打开了 python.exe 路径: c:\Users\AppData\Local\Programs\Python\Python310
我执行了以下命令: ICACLS . /grant "NT AUTHORITY\IUSR:(OI)(CI)(RX)" ICACLS . /grant "内置\IIS_IUSRS:(OI)(CI)(RX)"
之后我可以通过 IIS 打开 Flask 应用程序。
【讨论】:
您无法发表评论,因为您还没有reputation 来评论其他人的帖子。您可以通过添加更多解释来改进您的答案——您是否在终端中执行了它?该命令有什么作用? How to Answer以上是关于在 IIS 服务器上部署烧瓶 api 给出错误 0x8007010b 通知:ExecuteRequestHandler的主要内容,如果未能解决你的问题,请参考以下文章
移动到不同的 IIS 服务器 pc 后在 IIS 中发布的 asp.net 核心 web api 给出错误 500.19 (0x8007000d)
在 Windows 上通过 Apache Lounge 部署烧瓶应用程序时出现内部服务器错误