簡體   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