Update site.py

pull/632/head
Mr Chen 6 months ago
parent 5b2e40404d
commit f510d23c92
  1. 34
      web/utils/site.py

@ -1995,29 +1995,21 @@ export PATH
return mw.returnData(False, '异常请求') return mw.returnData(False, '异常请求')
def createLet(self, site_name, domains, force, renew, apply_type, dnspai, email, wildcard_domain): def createLet(self, site_name, domains, force, renew, apply_type, dnspai, email, wildcard_domain):
siteName = request.form.get('siteName', '')
domains = request.form.get('domains', '')
force = request.form.get('force', '')
renew = request.form.get('renew', '')
email_args = request.form.get('email', '')
domains = json.loads(domains) domains = json.loads(domains)
email = mw.M('users').getField('email') if len(domains) < 1:
if email_args.strip() != '': return mw.returnData(False, '请选择域名')
mw.M('users').setField('email', email_args) if email.strip() != '':
email = email_args thisdb.setOption('ssl_email', email)
if not len(domains):
return mw.returnJson(False, '请选择域名')
host_conf_file = self.getHostConf(siteName) host_conf_file = self.getHostConf(site_name)
if os.path.exists(host_conf_file): if os.path.exists(host_conf_file):
siteConf = mw.readFile(host_conf_file) siteConf = mw.readFile(host_conf_file)
if siteConf.find('301-END') != -1: if siteConf.find('301-END') != -1:
return mw.returnJson(False, '检测到您的站点做了301重定向设置,请先关闭重定向!') return mw.returnJson(False, '检测到您的站点做了301重定向设置,请先关闭重定向!')
# 检测存在反向代理 # 检测存在反向代理
data_path = self.getProxyDataPath(siteName) data_path = self.getProxyDataPath(site_name)
data_content = mw.readFile(data_path) data_content = mw.readFile(data_path)
if data_content != False: if data_content != False:
try: try:
@ -2025,14 +2017,14 @@ export PATH
except: except:
pass pass
for proxy in data: for proxy in data:
proxy_dir = "{}/{}".format(self.proxyPath, siteName) proxy_dir = "{}/{}".format(self.proxyPath, site_name)
proxy_dir_file = proxy_dir + '/' + proxy['id'] + '.conf' proxy_dir_file = proxy_dir + '/' + proxy['id'] + '.conf'
if os.path.exists(proxy_dir_file): if os.path.exists(proxy_dir_file):
return mw.returnJson(False, '检测到您的站点做了反向代理设置,请先关闭反向代理!') return mw.returnJson(False, '检测到您的站点做了反向代理设置,请先关闭反向代理!')
# fix binddir domain ssl apply question # fix binddir domain ssl apply question
mw.backFile(host_conf_file) mw.backFile(host_conf_file)
auth_to = self.getSitePath(siteName) auth_to = self.getSitePath(site_name)
rep = r"\s*root\s*(.+);" rep = r"\s*root\s*(.+);"
replace_root = "\n\troot " + auth_to + ";" replace_root = "\n\troot " + auth_to + ";"
siteConf = re.sub(rep, replace_root, siteConf) siteConf = re.sub(rep, replace_root, siteConf)
@ -2045,11 +2037,11 @@ export PATH
'auth_to': auth_to, 'auth_to': auth_to,
} }
src_letpath = mw.getServerDir() + '/web_conf/letsencrypt/' + siteName src_letpath = mw.getServerDir() + '/web_conf/letsencrypt/' + site_name
src_csrpath = src_letpath + "/fullchain.pem" # 生成证书路径 src_csrpath = src_letpath + "/fullchain.pem" # 生成证书路径
src_keypath = src_letpath + "/privkey.pem" # 密钥文件路径 src_keypath = src_letpath + "/privkey.pem" # 密钥文件路径
dst_letpath = self.sslDir + '/' + siteName dst_letpath = self.sslDir + '/' + site_name
dst_csrpath = dst_letpath + '/fullchain.pem' dst_csrpath = dst_letpath + '/fullchain.pem'
dst_keypath = dst_letpath + '/privkey.pem' dst_keypath = dst_letpath + '/privkey.pem'
@ -2064,7 +2056,7 @@ export PATH
emsg = data['msg'][1]['challenges'][0]['error'] emsg = data['msg'][1]['challenges'][0]['error']
msg = msg + '<p><span>响应状态:</span>' + str(emsg['status']) + '</p><p><span>错误类型:</span>' + emsg[ msg = msg + '<p><span>响应状态:</span>' + str(emsg['status']) + '</p><p><span>错误类型:</span>' + emsg[
'type'] + '</p><p><span>错误代码:</span>' + emsg['detail'] + '</p>' 'type'] + '</p><p><span>错误代码:</span>' + emsg['detail'] + '</p>'
return mw.returnJson(data['status'], msg, data['msg']) return mw.returnData(data['status'], msg, data['msg'])
mw.execShell('mkdir -p ' + dst_letpath) mw.execShell('mkdir -p ' + dst_letpath)
mw.buildSoftLink(src_csrpath, dst_csrpath, True) mw.buildSoftLink(src_csrpath, dst_csrpath, True)
@ -2072,9 +2064,9 @@ export PATH
mw.execShell('echo "lets" > "' + dst_letpath + '/README"') mw.execShell('echo "lets" > "' + dst_letpath + '/README"')
# 写入配置文件 # 写入配置文件
result = self.setSslConf(siteName) result = self.setSslConf(site_name)
if not result['status']: if not result['status']:
return mw.getJson(result) return result
result['csr'] = mw.readFile(src_csrpath) result['csr'] = mw.readFile(src_csrpath)
result['key'] = mw.readFile(src_keypath) result['key'] = mw.readFile(src_keypath)

Loading…
Cancel
Save