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

CyberPanel中Vhost反向代理Flask应用配置失效,持续报500错误

修复LiteSpeed反向代理Flask应用的500错误问题

你的配置存在重复代理规则、协议冲突、重写逻辑混乱等核心问题,直接导致了500错误,以下是修复后的完整配置及修改说明:

修正后的完整配置

vhDomain                  $VH_NAME
vhAliases                 www.$VH_NAME
enableGzip                1
enableIpGeo               1

index  {
  useServer               0
  indexFiles              index.php, index.html
}

errorlog $VH_ROOT/logs/$VH_NAME.error_log {
  useServer               0
  logLevel                WARN
  rollingSize             10M
}

accesslog $VH_ROOT/logs/$VH_NAME.access_log {
  useServer               0
  logFormat               "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
  logHeaders              5
  rollingSize             10M
  keepDays                10  
  compressArchive         1
}

extprocessor pythonflask1709 {
  type                    proxy
  address                 127.0.0.1:5000
  maxConns                200
  pcKeepAliveTimeout      60
  initTimeout             20
  retryTimeout            0
  respBuffer              0
}

# 移除冲突的脚本处理器配置
# scripthandler {
#   add proxy:pythonflask1709 html
# }

module cache {
 storagePath /usr/local/lsws/cachedata/$VH_NAME
}

rewrite  {
  enable 1
  autoLoadHtaccess 1
  RewriteEngine On
  # 修正HTTP转HTTPS的重定向规则
  RewriteCond %{HTTPS} !=on
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
}

context / {
  type                    proxy
  handler                 pythonflask1709
  addDefaultCharset       off
  # 移除上下文内重复且冲突的重写规则
  # rewrite  {
  #   enable 1
  #   autoLoadHtaccess 1
  #   RewriteEngine On
  #   RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  #   REWRITERULE ^(.*)$ HTTP://127.0.0.1:5000/$1 [P]
  # }
}

关键修改说明

  • 移除重复代理配置:同时使用scripthandler和context proxy会导致请求被双重代理,直接删掉scripthandler中的代理规则,仅通过根上下文/处理代理逻辑。
  • 修正HTTPS重定向逻辑:原规则错误地将HTTP请求跳转到HTTP,改为强制跳转到https://;同时删除全局重写中的代理规则,避免与上下文代理冲突。
  • 清理上下文内重复重写规则:上下文内的重写规则不仅重复了HTTPS跳转,还额外添加了HTTP代理规则,与上下文本身的proxy type冲突,直接删除该部分。
  • 统一代理协议:Flask默认在5000端口运行HTTP服务,原配置用HTTPS://127.0.0.1:5000代理会导致连接失败,现在通过上下文handler直接指向定义好的extprocessor,自动使用HTTP连接,避免协议不匹配。

额外检查项

  1. 确认Flask应用在127.0.0.1:5000正常运行,可通过curl http://127.0.0.1:5000测试是否返回正常响应。
  2. 重启LiteSpeed服务使配置生效:/usr/local/lsws/bin/lswsctrl restart
  3. 若仍有问题,查看错误日志$VH_ROOT/logs/$VH_NAME.error_log,日志会给出具体错误信息(如连接超时、权限问题等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:54:24