|
|
|
@ -1479,7 +1479,7 @@ class sites(object): |
|
|
|
|
mw.writeFile(vhost_file, content) |
|
|
|
|
|
|
|
|
|
# 设置 网站 反向代理列表 |
|
|
|
|
def setProxy(self, site_name, site_from, to, host, name, open_proxy, open_cache, cache_time, proxy_id): |
|
|
|
|
def setProxy(self, site_name, site_from, to, host, name, open_proxy, open_cors, open_cache, cache_time, proxy_id): |
|
|
|
|
from urllib.parse import urlparse |
|
|
|
|
if site_name == "" or site_from == "" or to == "" or host == "" or name == "": |
|
|
|
|
return mw.returnData(False, "必填项不能为空") |
|
|
|
@ -1513,46 +1513,53 @@ class sites(object): |
|
|
|
|
if item["from"] == site_from: |
|
|
|
|
return mw.returnData(False, "代理目录已存在!!") |
|
|
|
|
|
|
|
|
|
tpl = "#PROXY-START\n\ |
|
|
|
|
location ^~ {from} {\n\ |
|
|
|
|
proxy_pass {to};\n\ |
|
|
|
|
proxy_set_header Host {host};\n\ |
|
|
|
|
proxy_ssl_server_name on;\n\ |
|
|
|
|
proxy_set_header X-Real-IP $remote_addr;\n\ |
|
|
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\ |
|
|
|
|
proxy_set_header REMOTE-HOST $remote_addr;\n\ |
|
|
|
|
proxy_set_header Upgrade $http_upgrade;\n\ |
|
|
|
|
proxy_set_header Connection $connection_upgrade;\n\ |
|
|
|
|
proxy_http_version 1.1;\n\ |
|
|
|
|
\n\ |
|
|
|
|
add_header X-Cache $upstream_cache_status;\n\ |
|
|
|
|
\n\ |
|
|
|
|
{proxy_cache}\n\ |
|
|
|
|
tpl = "#PROXY-START\n \ |
|
|
|
|
location ^~ {from} {\n \ |
|
|
|
|
proxy_pass {to};\n \ |
|
|
|
|
proxy_set_header Host {host};\n \ |
|
|
|
|
proxy_ssl_server_name on;\n \ |
|
|
|
|
proxy_set_header X-Real-IP $remote_addr;\n \ |
|
|
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n \ |
|
|
|
|
proxy_set_header REMOTE-HOST $remote_addr;\n \ |
|
|
|
|
proxy_set_header Upgrade $http_upgrade;\n \ |
|
|
|
|
proxy_set_header Connection $connection_upgrade;\n \ |
|
|
|
|
proxy_http_version 1.1;\n \ |
|
|
|
|
\n \ |
|
|
|
|
add_header X-Cache $upstream_cache_status;\n \ |
|
|
|
|
{cors}\n \ |
|
|
|
|
\n \ |
|
|
|
|
{proxy_cache}\n \ |
|
|
|
|
}\n\ |
|
|
|
|
# PROXY-END" |
|
|
|
|
|
|
|
|
|
tpl_proxy_cache = "\n\ |
|
|
|
|
if ( $uri ~* \\.(gif|png|jpg|css|js|woff|woff2)$\" )\n\ |
|
|
|
|
{\n\ |
|
|
|
|
expires {cache_time}m;\n\ |
|
|
|
|
}\n\ |
|
|
|
|
proxy_ignore_headers Set-Cookie Cache-Control expires;\n\ |
|
|
|
|
proxy_cache mw_cache;\n\ |
|
|
|
|
proxy_cache_key \"$host$uri$is_args$args\";\n\ |
|
|
|
|
proxy_cache_valid 200 304 301 302 {cache_time}m;\n\ |
|
|
|
|
tpl_proxy_cache = "\n \ |
|
|
|
|
if ( $uri ~* \\.(gif|png|jpg|css|js|woff|woff2)$\" )\n \ |
|
|
|
|
{\n \ |
|
|
|
|
expires {cache_time}m;\n \ |
|
|
|
|
}\n \ |
|
|
|
|
proxy_ignore_headers Set-Cookie Cache-Control expires;\n \ |
|
|
|
|
proxy_cache mw_cache;\n \ |
|
|
|
|
proxy_cache_key \"$host$uri$is_args$args\";\n \ |
|
|
|
|
proxy_cache_valid 200 304 301 302 {cache_time}m;\n \ |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
tpl_proxy_nocache = "\n\ |
|
|
|
|
set $static_files_app 0; \n\ |
|
|
|
|
if ( $uri ~* \\.(gif|png|jpg|css|js|woff|woff2)$\" )\n\ |
|
|
|
|
{\n\ |
|
|
|
|
tpl_proxy_nocache = "\n \ |
|
|
|
|
set $static_files_app 0; \n \ |
|
|
|
|
if ( $uri ~* \\.(gif|png|jpg|css|js|woff|woff2)$\" )\n \ |
|
|
|
|
{\n \ |
|
|
|
|
set $static_files_app 1;\n\ |
|
|
|
|
expires 12h;\n\ |
|
|
|
|
}\n\ |
|
|
|
|
if ( $static_files_app = 0 )\n\ |
|
|
|
|
{\n\ |
|
|
|
|
add_header Cache-Control no-cache;\n\ |
|
|
|
|
}\n\ |
|
|
|
|
}\n \ |
|
|
|
|
if ( $static_files_app = 0 )\n \ |
|
|
|
|
{\n \ |
|
|
|
|
add_header Cache-Control no-cache;\n \ |
|
|
|
|
}\n \ |
|
|
|
|
" |
|
|
|
|
tpl_proxy_cors = "\n \ |
|
|
|
|
add_header 'Access-Control-Allow-Methods' 'GET,OPTIONS,POST' always;\n \ |
|
|
|
|
add_header 'Access-Control-Allow-Credentials' 'true';\n \ |
|
|
|
|
add_header 'Access-Control-Allow-Origin' *;\n \ |
|
|
|
|
add_header 'Access-Control-Allow-Headers' *;\n \ |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
# replace |
|
|
|
@ -1569,6 +1576,11 @@ location ^~ {from} {\n\ |
|
|
|
|
else: |
|
|
|
|
tpl = tpl.replace("{proxy_cache}", tpl_proxy_nocache, 999) |
|
|
|
|
|
|
|
|
|
if open_cors == 'on': |
|
|
|
|
tpl = tpl.replace("{cors}", tpl_proxy_cors, 999) |
|
|
|
|
else: |
|
|
|
|
tpl = tpl.replace("{cors}", tpl_proxy_cors, 999) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
conf_proxy = "{}/{}.conf".format(self.getProxyPath(site_name), proxy_id) |
|
|
|
|
conf_bk = "{}/{}.conf.txt".format(self.getProxyPath(site_name), proxy_id) |
|
|
|
@ -1593,8 +1605,9 @@ location ^~ {from} {\n\ |
|
|
|
|
"to": to, |
|
|
|
|
"host": host, |
|
|
|
|
"open_cache": open_cache, |
|
|
|
|
"open_proxy": open_proxy, |
|
|
|
|
"cache_time": cache_time, |
|
|
|
|
"open_proxy": open_proxy, |
|
|
|
|
"open_cors": open_cors, |
|
|
|
|
"id": proxy_id, |
|
|
|
|
}) |
|
|
|
|
else: |
|
|
|
@ -1610,8 +1623,9 @@ location ^~ {from} {\n\ |
|
|
|
|
data[dindex]['to'] = to |
|
|
|
|
data[dindex]['host'] = host |
|
|
|
|
data[dindex]['open_cache'] = open_cache |
|
|
|
|
data[dindex]['open_proxy'] = open_proxy |
|
|
|
|
data[dindex]['cache_time'] = cache_time |
|
|
|
|
data[dindex]['open_proxy'] = open_proxy |
|
|
|
|
data[dindex]['open_cors'] = open_cors |
|
|
|
|
|
|
|
|
|
if open_proxy != 'on': |
|
|
|
|
os.rename(conf_proxy, conf_bk) |
|
|
|
|