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

CentOS7下Apache2.4+WSGI部署Flask/Dash应用遇403 Forbidden问题排查

问题排查与解决方案

核心问题分析

错误日志AH01276指向两个表面现象:

  1. 服务器在/var/www/Typesetter/appname/目录下找不到配置的默认索引文件(index.html/index.php)
  2. 当前配置禁止自动生成目录索引
    但本质是WSGI虚拟主机未正确将子目录/appname映射到Dash应用的WSGI入口,导致Apache试图直接访问目录而非转发请求给WSGI应用。

分步排查与修复

1. 修正软链接与目录权限

  • 确保软链接/var/www/Typesetter/appname指向的/var/www/html/appname目录及所有父目录对Apache进程(用户apache)有执行权限(755足够,777不安全):
    chown -R apache:apache /var/www/html/appname
    chmod -R 755 /var/www/html/appname
    
  • 在appname.conf中添加软链接跟随配置:
    <Directory "/var/www/Typesetter/appname">
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    

2. 修正WSGI虚拟主机配置

确保/etc/httpd/conf.d/appname.conf正确将子目录/appname映射到WSGI脚本,示例配置:

<VirtualHost *:443>
    ServerName our-group.our-uni.com
    # 保留原有SSL配置

    # 挂载WSGI应用到/appname子目录
    WSGIScriptAlias /appname /var/www/html/appname/testapp.wsgi

    # 配置WSGI应用目录权限
    <Directory "/var/www/html/appname">
        Options FollowSymLinks ExecCGI
        AllowOverride None
        Require all granted
        WSGIApplicationGroup %{GLOBAL}
    </Directory>

    # Dash静态资源映射(必须配置,否则前端加载失败)
    Alias /appname/static /var/www/html/appname/static
    <Directory "/var/www/html/appname/static">
        Require all granted
    </Directory>
</VirtualHost>

关键要点:

  • WSGIScriptAlias必须明确将/appname指向你的testapp.wsgi文件
  • 必须添加静态资源的Alias映射,否则Dash的前端组件无法加载
  • WSGIApplicationGroup %{GLOBAL}解决CentOS7下mod_wsgi嵌入式模式可能引发的Python线程冲突

3. 检查testapp.wsgi文件

确保testapp.wsgi正确导入Dash应用,示例内容:

import sys
sys.path.insert(0, '/var/www/html/appname')

from testapp import app as application

注意:testapp.py中的Dash应用实例必须命名为app,或者修改wsgi文件中的导入名称匹配。

4. 验证配置并重启Apache

  • 检查配置语法是否正确:
    httpd -t
    
  • 重启Apache服务:
    systemctl restart httpd
    

额外检查点

  • 确认mod_wsgi与运行Dash的Python版本兼容:
    import mod_wsgi
    print(mod_wsgi.version)
    
  • 修复SELinux上下文(CentOS7默认开启SELinux):
    restorecon -Rv /var/www/html/appname
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:30:45