\
@@ -1637,7 +1642,7 @@ function toProxy(siteName, type, obj) {
\
\
@@ -1666,13 +1671,21 @@ function toProxy(siteName, type, obj) {
success:function(){
if (typeof(obj) != 'undefined'){
- // console.log(obj);
+ console.log(obj);
$('input[name="name"]').val(obj['name']).attr('readonly','readonly').addClass('disabled');
if (obj['open_cache'] == 'on'){
$("input[name='open_cache']").prop("checked",true);
$('#cache_time').show();
}
+ if (obj['open_cors'] == 'on'){
+ $("input[name='open_cors']").prop("checked",true);
+ }
+
+ if (obj['open_proxy'] == 'on'){
+ $("input[name='open_proxy']").prop("checked",true);
+ }
+
$('input[name="from"]').val(obj['from']);
$('input[name="to"]').val(obj['to']);
@@ -1722,6 +1735,15 @@ function toProxy(siteName, type, obj) {
$("input[name='open_cache']").prop("checked",true);
}
});
+
+ $('#open_cors').click(function(){
+ var status = $("input[name='open_cors']").prop("checked")==true?1:0;
+ if(status==1){
+ $("input[name='open_cors']").prop("checked",false);
+ }else{
+ $("input[name='open_cors']").prop("checked",true);
+ }
+ });
},
yes:function(index,layer_ro){
var data = $('#form_proxy').serializeArray();
diff --git a/web/utils/site.py b/web/utils/site.py
index 407b9a150..97c531690 100644
--- a/web/utils/site.py
+++ b/web/utils/site.py
@@ -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)
diff --git a/web/version.py b/web/version.py
index e78644ee3..2a4f38a05 100644
--- a/web/version.py
+++ b/web/version.py
@@ -13,7 +13,7 @@
# 应用程序版本号组件
APP_RELEASE = 0
APP_REVISION = 18
-APP_SMALL_VERSION = 0
+APP_SMALL_VERSION = 0.1
# 应用程序版本后缀,例如“beta1”、“dev”。通常为空字符串GA发布
APP_SUFFIX = ''