pull/632/head
Mr Chen 5 months ago
parent 9f2bc6e0e1
commit f16dfd6819
  1. 16
      web/admin/site/ssl.py
  2. 36
      web/utils/site.py

@ -89,13 +89,27 @@ def set_cert_to_site():
cert_name = request.form.get('certName', '')
return MwSites.instance().setCertToSite(site_name, cert_name)
# 删除证书
@blueprint.route('/remove_cert', endpoint='remove_cert', methods=['GET','POST'])
@panel_login_required
def remove_cert():
cert_name = request.form.get('certName', '')
return MwSites.instance().removeCert(cert_name)
# 强制开启HTTPS
@blueprint.route('/http_to_https', endpoint='http_to_https', methods=['GET','POST'])
@panel_login_required
def http_to_https():
site_name = request.form.get('siteName', '')
return MwSites.instance().httpToHttps(site_name)
# 强制关闭HTTPS
@blueprint.route('/close_to_https', endpoint='close_to_https', methods=['GET','POST'])
@panel_login_required
def close_to_https():
site_name = request.form.get('siteName', '')
return MwSites.instance().closeToHttps(site_name)

@ -1129,6 +1129,40 @@ error_page 497 https://$host$request_uri;""" % (certPath, keyPath, http3Header)
data['phpversion'] = def_pver
return data
def httpToHttps(self, site_name):
file = self.getHostConf(site_name)
conf = mw.readFile(file)
if not conf:
return mw.returnData(False, '站点[{}]配置异常!'.format(site_name))
if conf.find('ssl_certificate') == -1:
return mw.returnData(False, '当前未开启SSL')
to = "#error_page 404/404.html;\n\
#HTTP_TO_HTTPS_START\n\
if ($server_port !~ 443){\n\
rewrite ^(/.*)$ https://$host$1 permanent;\n\
}\n\
#HTTP_TO_HTTPS_END"
conf = conf.replace('#error_page 404/404.html;', to)
mw.writeFile(file, conf)
mw.restartWeb()
return mw.returnData(True, '设置成功!')
def closeToHttps(self, site_name):
file = self.getHostConf(site_name)
conf = mw.readFile(file)
if not conf:
return mw.returnData(False, '站点[{}]配置异常!'.format(site_name))
rep = r"\n\s*#HTTP_TO_HTTPS_START(.|\n){1,300}#HTTP_TO_HTTPS_END"
conf = re.sub(rep, '', conf)
rep = r"\s+if.+server_port.+\n.+\n\s+\s*}"
conf = re.sub(rep, '', conf)
mw.writeFile(file, conf)
mw.restartWeb()
return mw.returnData(True, '关闭HTTPS跳转成功!')
def getIndex(self, site_id):
info = thisdb.getSitesById(site_id)
file = self.getHostConf(info['name'])
@ -1158,7 +1192,7 @@ error_page 497 https://$host$request_uri;""" % (certPath, keyPath, http3Header)
mw.writeFile(file, conf)
mw.writeLog('网站管理', '站点[{1}]设置{2}成功', (siteName, index_l))
return mw.returnJson(True, '设置成功!')
return mw.returnData(True, '设置成功!')
def getLimitNet(self, site_id):
info = thisdb.getSitesById(site_id)

Loading…
Cancel
Save