繁体   English   中英

网络面板中的虚拟主机配置不起作用

[英]vhost config in cyberpanel is not working

有虚拟主机配置,它应该是 flask 应用程序的反向代理,但无法正常工作。 下面是虚拟主机配置。 Flask 应用程序正在端口 5000 上运行。

在上下文和外部都添加了重写,即使那样它也不起作用。 下面的配置总是给出错误 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
  RewriteCond %{HTTPS} !=on
  RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  REWRITERULE ^(.*)$ HTTPS://127.0.0.1:5000/$1 [P]
}

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]
  }
}

对于反向代理,您创建了一个名为 pythonflask1709 的 Web 服务器外部应用程序,这很好。 下一步是设置上下文、重写规则或脚本处理程序。

上下文方法

context / {
  type                    proxy
  handler                 demo
  addDefaultCharset       off
}

重写方法

REWRITERULE ^(.*)$ HTTP://pythonflask1709/$1 [P,L,E=PROXY-HOST:WWW.EXAMPLE.COM]

如您所见,在规则中使用 web 服务器名称pythonflask1709而不是 127.0.0.1:5000,也请用您的真实域名替换 WWW.EXAMPLE.COM。

两者都应该有效,但请不要同时应用这两种方法。

另一种解决方案是直接运行WSGI APP,无需代理。 更多, https://openlitespeed.org/kb/python-wsgi-applications/#Set_up_Flask_with_a_Virtual_Environment

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM