diff --git a/class/core/site_api.py b/class/core/site_api.py
index 77bc8cf60..736876bee 100755
--- a/class/core/site_api.py
+++ b/class/core/site_api.py
@@ -453,6 +453,41 @@ class site_api:
except:
return mw.returnJson(True, 'OK', [])
+ def deleteSslApi(self):
+ site_name = request.form.get('site_name', '')
+ ssl_type = request.form.get('ssl_type', '')
+
+ path = self.sslDir + '/' + site_name
+ csr_path = path + '/fullchain.pem' # 生成证书路径
+
+ file = self.getHostConf(site_name)
+ content = mw.readFile(file)
+ key_text = 'ssl_certificate'
+ status = True
+ if content.find(key_text) == -1:
+ status = False
+
+ if ssl_type == 'now':
+ if status:
+ return mw.returnJson(False, '使用中,先关闭再删除')
+ if os.path.exists(path):
+ mw.execShell('rm -rf ' + path)
+ else:
+ return mw.returnJson(False, '还未申请!')
+ elif ssl_type == 'lets':
+ ssl_lets_dir = self.sslLetsDir + '/' + site_name
+ csr_lets_path = ssl_lets_dir + '/fullchain.pem' # 生成证书路径
+ if mw.md5(mw.readFile(csr_lets_path)) == mw.md5(mw.readFile(csr_path)):
+ return mw.returnJson(False, '使用中,先关闭再删除')
+ elif ssl_type == 'acme':
+ ssl_acme_dir = mw.getAcmeDir() + '/' + site_name
+ csr_acme_path = ssl_acme_dir + '/fullchain.cer' # 生成证书路径
+ if mw.md5(mw.readFile(csr_acme_path)) == mw.md5(mw.readFile(csr_path)):
+ return mw.returnJson(False, '使用中,先关闭再删除')
+
+ # mw.restartWeb()
+ return mw.returnJson(True, '删除成功')
+
def getSslApi(self):
site_name = request.form.get('site_name', '')
ssl_type = request.form.get('ssl_type', '')
diff --git a/route/static/app/site.js b/route/static/app/site.js
index e9bfcd3c0..7d10d75d2 100755
--- a/route/static/app/site.js
+++ b/route/static/app/site.js
@@ -1761,7 +1761,6 @@ function setSSL(id,siteName){
+ '
\
'
+ '';
- // 关闭\
$("#webedit-con").html(sslHtml);
$(".tab-nav span").click(function(){
$(this).addClass("on").siblings().removeClass("on");
@@ -1819,6 +1818,14 @@ function httpToHttps(siteName){
}
+function deleteSSL(type,id,siteName){
+ $.post('/site/delete_ssl','site_name='+siteName+'&ssl_type='+type,function(rdata){
+ layer.msg(rdata.msg,{icon:rdata.status?1:2});
+ showMsg(rdata.msg, function(){
+ opSSL(type,id,siteName);
+ },{icon:rdata.status?1:2}, 2000);
+ },'json');
+}
//SSL
function opSSL(type, id, siteName, callback){
@@ -1920,7 +1927,6 @@ function opSSL(type, id, siteName, callback){
$.post('/site/get_ssl', 'site_name='+siteName+'&ssl_type=lets', function(data){
var rdata = data['data'];
if(rdata.csr == false){
-
$.post('/site/get_site_domains','id='+id, function(rdata) {
var data = rdata['data'];
var opt='';
@@ -1971,8 +1977,9 @@ function opSSL(type, id, siteName, callback){
证书(PEM格式)
\
\
\
- \
- \
+ \
+ \
+ \
\
\
\
@@ -2055,7 +2062,8 @@ function opSSL(type, id, siteName, callback){
证书(PEM格式)
\
\
\
- \
+ \
+ \
\
\
\
@@ -2112,6 +2120,7 @@ function opSSL(type, id, siteName, callback){
$("#toHttps").attr('checked',rdata.httpTohttps);
if(rdata.status){
$('.warning_info').css('display','none');
+
$(".ssl-btn").append("");
$('#now_ssl').html('当前证书 - [已部署SSL]');
} else{
@@ -2119,8 +2128,14 @@ function opSSL(type, id, siteName, callback){
$('#now_ssl').html('当前证书 - [未部署SSL]');
}
- if(rdata.key == false) rdata.key = '';
- if(rdata.csr == false) rdata.csr = '';
+ if(rdata.key == false){
+ rdata.key = '';
+ } else {
+ $(".ssl-btn").append('');
+ }
+ if(rdata.csr == false){
+ rdata.csr = '';
+ }
$("#key").val(rdata.key);
$("#csr").val(rdata.csr);