diff --git a/web/static/app/public.js b/web/static/app/public.js index dd3436f0f1..fcaef965cf 100755 --- a/web/static/app/public.js +++ b/web/static/app/public.js @@ -2186,19 +2186,19 @@ function pluginConfig(_name, version, func){ } editor = CodeMirror.fromTextArea(document.getElementById("textBody"), { + lineNumbers: true, + matchBrackets:true, extraKeys: { "Ctrl-Space": "autocomplete", "Ctrl-F": "findPersistent", "Ctrl-H": "replaceAll", "Ctrl-S": function() { - saveDataFunc() + saveDataFunc(); }, "Cmd-S":function() { saveDataFunc(); } - }, - lineNumbers: true, - matchBrackets:true, + } }); editor.focus(); $(".CodeMirror-scroll").css({"height":"300px","margin":0,"padding":0}); diff --git a/web/static/app/site.js b/web/static/app/site.js index 00ac4d4fec..d40251dbb9 100755 --- a/web/static/app/site.js +++ b/web/static/app/site.js @@ -1805,6 +1805,25 @@ function toProxy(siteName, type, obj) { \ "; var editor; + function saveDataFunc(){ + $("#configProxyBody").empty().text(editor.getValue()); + var load = layer.load(); + var data = { + siteName: siteName, + id: obj, + config: editor.getValue(), + }; + + $.post('/site/save_proxy_conf', data, function(res) { + layer.close(load) + if (res.status == true) { + layer.msg('保存成功', {icon: 1}); + layer.close(index); + } else { + layer.msg(res.msg, {time: 3000,icon: 2}); + } + },'json'); + } var index = layer.open({ type: 1, title: '编辑配置文件', @@ -1815,32 +1834,26 @@ function toProxy(siteName, type, obj) { content: mBody, success: function () { editor = CodeMirror.fromTextArea(document.getElementById("configProxyBody"), { - extraKeys: {"Ctrl-Space": "autocomplete"}, lineNumbers: true, matchBrackets:true, + extraKeys: { + "Ctrl-Space": "autocomplete", + "Ctrl-F": "findPersistent", + "Ctrl-H": "replaceAll", + "Ctrl-S": function() { + saveDataFunc(); + }, + "Cmd-S":function() { + saveDataFunc(); + } + } }); editor.focus(); $(".CodeMirror-scroll").css({"height":"300px","margin":0,"padding":0}); $("#onlineEditFileBtn").unbind('click'); }, yes:function(index,layero){ - $("#configProxyBody").empty().text(editor.getValue()); - var load = layer.load(); - var data = { - siteName: siteName, - id: obj, - config: editor.getValue(), - }; - - $.post('/site/save_proxy_conf', data, function(res) { - layer.close(load) - if (res.status == true) { - layer.msg('保存成功', {icon: 1}); - layer.close(index); - } else { - layer.msg(res.msg, {time: 3000,icon: 2}); - } - },'json'); + saveDataFunc(); return true; }, }); diff --git a/web/utils/site.py b/web/utils/site.py index 97c5316900..9f94627ab7 100644 --- a/web/utils/site.py +++ b/web/utils/site.py @@ -1513,53 +1513,57 @@ def setProxy(self, site_name, site_from, to, host, name, open_proxy, open_cors, 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 \ - {cors}\n \ - \n \ - {proxy_cache}\n \ + tpl = "#PROXY-START\n\ +location ^~ {from} {\n\ + add_header X-Cache $upstream_cache_status;\n\ + {cors}\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\ + {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|jpeg|css|js|ttf|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_bak = "\n\ + set $static_files_app 0; \n\ + if ( $uri ~* \\.(gif|png|jpg|jpeg|css|js|ttf|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 \ + + tpl_proxy_nocache = "\n\ + add_header Cache-Control no-cache;\n\ +" + tpl_proxy_cors = "\n\ + add_header Access-Control-Allow-Origin *;\n\ + add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';\n\ + add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';\n\ + if ($request_method = 'OPTIONS') {\n\ + return 204;\n\ + }\n\ " # replace @@ -1579,7 +1583,7 @@ def setProxy(self, site_name, site_from, to, host, name, open_proxy, open_cors, if open_cors == 'on': tpl = tpl.replace("{cors}", tpl_proxy_cors, 999) else: - tpl = tpl.replace("{cors}", tpl_proxy_cors, 999) + tpl = tpl.replace("{cors}", '', 999) conf_proxy = "{}/{}.conf".format(self.getProxyPath(site_name), proxy_id)