diff --git a/web/admin/site/ssl.py b/web/admin/site/ssl.py index a7cdd4bc4..5533ae972 100644 --- a/web/admin/site/ssl.py +++ b/web/admin/site/ssl.py @@ -81,6 +81,22 @@ def set_dnsapi(): data = request.form.get('data') return MwSites.instance().setDnsapi(type,data) +# 设置证书到站点 +@blueprint.route('/set_cert_to_site', endpoint='set_cert_to_site', methods=['GET','POST']) +@panel_login_required +def set_cert_to_site(): + site_name = request.form.get('siteName', '') + 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) + + diff --git a/web/utils/site.py b/web/utils/site.py index f983e37dd..92fdfbfa1 100644 --- a/web/utils/site.py +++ b/web/utils/site.py @@ -2356,6 +2356,34 @@ export PATH mw.restartWeb() return mw.returnData(data['status'], data['msg'], result) + def setCertToSite(self, site_name, cert_name): + certName = request.form.get('certName', '') + siteName = request.form.get('siteName', '') + try: + path = self.sslDir + '/' + site_name.strip() + if not os.path.exists(path): + return mw.returnData(False, '证书不存在!') + + result = self.setSslConf(siteName) + if not result['status']: + return result + + mw.restartWeb() + mw.writeLog('网站管理', '证书已部署!') + return mw.returnData(True, '证书已部署!') + except Exception as ex: + return mw.returnData(False, '设置错误:' + str(ex)) + + def removeCert(self, cert_name): + try: + path = self.sslDir + '/' + cert_name + if not os.path.exists(path): + return mw.returnData(False, '证书已不存在!') + os.system("rm -rf " + path) + return mw.returnData(True, '证书已删除!') + except Exception as ex: + return mw.returnData(False, '证书删除失败:'+str(ex)) + def getBackup(self,site_id,page=1,size=10): site_info = thisdb.getSitesById(site_id) info = thisdb.getBackupPage(site_id, page, size)