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

请求协助:Flask应用部署至Apache时报Error 10013权限错误

无法通过mod_wsgi在Apache部署Flask应用,报错Error 10013

环境信息

  • Windows 11 x64
  • Python 3.10.9、Flask 2.2.2
  • Apache 2.4.54、mod_wsgi 4.9.4
  • 杀毒软件:ESET 10.0.2045.0

问题描述

尝试通过mod_wsgi将Flask HelloWorld应用部署到Apache服务器时,始终报错:Error 10013:An attempt was made to access a socket in a way forbidden by its access permissions。应用可在Werkzeug和WSGIserver正常运行,但部署到Apache后无法启动。

Apache httpd.conf配置

LoadFile "C:/users/pvachal/appdata/local/programs/python/python310/python310.dll"
LoadModule wsgi_module "C:/users/pvachal/appdata/local/programs/python/python310/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd"
WSGIPythonHome "C:/users/pvachal/appdata/local/programs/python/python310"

#WSGIDaemonProcess flaskapp python-path="c:/users/pvachal/appdata/local/programs/python/python310/lib/site-packages"

<VirtualHost *:8000>
#   DocumentRoot "c:/users/pvachal/documents/projekty/flask_app_hello_world"

    <Directory c:/users/pvachal/documents/projekty/flask_app_hello_world>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    WSGIScriptAlias / "c:/users/pvachal/documents/projekty/flask_app_hello_world/app.wsgi"

</VirtualHost>

注:WSGI模块已成功加载,VirtualHost监听端口为8000;未加载WSGI模块时Apache可正常显示默认页面。

已尝试的排查操作

  • 确认端口8000未被占用
  • 禁用Internet Connection Sharing (ICS)服务,无变化
  • 禁用ESET防火墙及网络保护,无变化
  • 通过Python socket模块连接localhost:8000,出现WinError 10061:目标机器主动拒绝连接

Flask应用代码(app.py)

from flask import Flask, render_template

app = Flask(__name__)
HOST = "localhost"
PORT = 8000

@app.route("/")
def home():
    return render_template("index.html")

if __name__ == "__main__":
    app.run(debug=True, host=HOST, port=PORT)

注:index.html为仅包含HelloWorld标题的简单页面。

app.wsgi代码

#! C:/Users/pvachal/AppData/Local/Programs/Python/Python310/python.exe

import sys

sys.path.insert(0, "c:/users/pvachal/documents/projekty/flask_app_hello_world")

activate_this = "c:/users/pvachal/documents/projekty/flask_app_hello_world/venv/scripts/activate_this.py"
with open(activate_this) as file_:
    exec(file_.read(), dict(__file__=activate_this))

from app import app as application

提问

已排查一周仍未解决,推测可能与网络权限相关,请问问题出在哪里?如何成功将Flask应用部署到Apache服务器?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:57:47