作者 刘锟

update

... ... @@ -261,26 +261,23 @@ class DomainInfoLogic extends BaseLogic
$this->fail('获取项目数据失败');
}
$serverIpModel = new ServersIp();
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip']);
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip','domain']);
if($serversIpInfo === false){
$this->fail('获取服务器数据失败');
}
$serverModel = new Servers();
$serverInfo = $serverModel->read(['id'=>$serversIpInfo['servers_id']],['init_domain']);
$server_info = ['domain'=>$serverInfo['init_domain'],'ip'=>$serversIpInfo['ip']];
if($serversIpInfo['servers_id'] == 7){
if($serversIpInfo['servers_id'] == ServerConfig::SELF_TEST_ID){
$this->fail('请切换服务器,生成站点不能使用测试服务器');
}
if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){
$this->model->edit(['amp_status' => $this->param['amp_status'] ?? 0,],['id'=>$this->param['id']]);
$this->model->edit(['amp_status' => $this->param['amp_status'] ?? 0],['id'=>$this->param['id']]);
$this->fail('自建站服务器无法生成站点');
}
//域名是否都已经解析
if(!empty($info['domain']) && !$this->check_cname($info['domain'], $server_info)){
if(!empty($info['domain']) && !$this->check_cname($info['domain'], $serversIpInfo)){
$this->fail('域名' . $info['domain'] . '未解析至目标服务器');
}
foreach ($this->param['other_domain']??[] as $other_domain){
if($other_domain && !$this->check_cname($other_domain, $server_info)){
if($other_domain && !$this->check_cname($other_domain, $serversIpInfo)){
$this->fail('域名' . $other_domain . '未解析至目标服务器');
}
}
... ... @@ -296,7 +293,7 @@ class DomainInfoLogic extends BaseLogic
$host_array[0] = 'm';
}
$amp_domain = implode('.',$host_array);
if(!$this->check_cname($amp_domain, $server_info)){
if(!$this->check_cname($amp_domain, $serversIpInfo)){
$this->fail('AMP站点域名' . $amp_domain . '未解析至目标服务器');
}
}
... ... @@ -385,14 +382,11 @@ class DomainInfoLogic extends BaseLogic
if($this->param['is_create']){
//需要创建站点
$serverIpModel = new ServersIp();
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip']);
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip','domain']);
if($serversIpInfo === false){
$this->fail('获取服务器数据失败');
}
$serverModel = new Servers();
$serverInfo = $serverModel->read(['id'=>$serversIpInfo['servers_id']],['init_domain']);
$server_info = ['domain'=>$serverInfo['init_domain'],'ip'=>$serversIpInfo['ip']];
if($serversIpInfo['servers_id'] == 7){
if($serversIpInfo['servers_id'] == ServerConfig::SELF_TEST_ID){
$this->fail('请切换服务器,生成站点不能使用测试服务器');
}
if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){
... ... @@ -412,7 +406,7 @@ class DomainInfoLogic extends BaseLogic
if($has_info && ($has_info['project_id'] != $project_id || $has_info['language_id'] != $this->param['language_id'])){
$this->fail('自定义域名已被使用');
}
if(!$this->check_cname($this->param['custom_domain'], $server_info)){
if(!$this->check_cname($this->param['custom_domain'], $serversIpInfo)){
$this->fail('域名' . $this->param['custom_domain'] . '未解析至目标服务器');
}
}else{
... ...
... ... @@ -53,17 +53,21 @@ class EditAmpDomainBt implements ShouldQueue
if ($project_info === false) {
return $this->output($domain_info['domain'] . ':获取项目数据失败');
}
//获取服务器数据
$serverIpModel = new ServersIp();
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip']);
$serversIpInfo = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id']);
if ($serversIpInfo === false) {
return $this->output($domain_info['domain'] . ':获取服务器数据失败');
}
$serverModel = new Servers();
$serverInfo = $serverModel->read(['id'=>$serversIpInfo['servers_id']],['init_domain']);
$server_info = ['domain'=>$serverInfo['init_domain'],'ip'=>$serversIpInfo['ip']];
$serverInfo = $serverModel->read(['id' => $serversIpInfo['servers_id']], ['init_domain']);
if ($serverInfo === false) {
return $this->output($domain_info['domain'] . ':获取服务器数据失败');
}
//编辑amp站
$api_url_amp = 'http://' . $server_info['domain'] . '/api/createSiteAmp';
$api_url_amp = 'http://' . $serverInfo['init_domain'] . '/api/createSiteAmp';
$api_param_amp = [
'domain' => $domain_info['domain'],
'not_allow_country' => $domain_info['not_allow_country'],
... ...
... ... @@ -46,24 +46,26 @@ class EditCustomDomainBt implements ShouldQueue
if ($domain_info === false) {
return $this->output($domain_info['custom_domain'] . ':获取域名数据失败');
}
//获取项目数据
$project_model = new Project();
$project_info = $project_model->read(['id' => $domain_info['project_id']], 'serve_id');
if ($project_info === false) {
return $this->output($domain_info['custom_domain'] . ':获取项目数据失败');
}
//获取服务器数据
$serverIpModel = new ServersIp();
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip']);
$serversIpInfo = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id']);
if ($serversIpInfo === false) {
return $this->output($domain_info['custom_domain'] . ':获取服务器数据失败');
}
$serverModel = new Servers();
$serverInfo = $serverModel->read(['id'=>$serversIpInfo['servers_id']],['init_domain']);
$server_info = ['domain'=>$serverInfo['init_domain'],'ip'=>$serversIpInfo['ip']];
$serverInfo = $serverModel->read(['id' => $serversIpInfo['servers_id']], ['init_domain']);
//编辑站点
if ($domain_info['type'] == 2) {
$api_url = 'http://' . $server_info['domain'] . '/api/setSsl';
$api_url = 'http://' . $serverInfo['init_domain'] . '/api/setSsl';
$api_param = [
'domain' => $domain_info['custom_domain'],
'private_key' => $domain_info['private_key'],
... ... @@ -73,7 +75,7 @@ class EditCustomDomainBt implements ShouldQueue
'is_https' => 1
];
} else {
$api_url = 'http://' . $server_info['domain'] . '/api/applySsl';
$api_url = 'http://' . $serverInfo['init_domain'] . '/api/applySsl';
$api_param = [
'domain' => $domain_info['custom_domain'],
'rewrite' => [],
... ...
... ... @@ -56,16 +56,19 @@ class EditDomainBt implements ShouldQueue
//获取服务器数据
$serverIpModel = new ServersIp();
$serversIpInfo = $serverIpModel->read(['id'=>$project_info['serve_id']],['servers_id','ip']);
$serversIpInfo = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id']);
if ($serversIpInfo === false) {
return $this->output($domain_info['domain'] . ':获取服务器数据失败');
}
$serverModel = new Servers();
$serverInfo = $serverModel->read(['id'=>$serversIpInfo['servers_id']],['init_domain']);
$server_info = ['domain'=>$serverInfo['init_domain'],'ip'=>$serversIpInfo['ip']];
$serverInfo = $serverModel->read(['id' => $serversIpInfo['servers_id']], ['init_domain']);
if ($serverInfo === false) {
return $this->output($domain_info['domain'] . ':获取服务器数据失败');
}
//编辑主站
if ($domain_info['type'] == 2) {
$api_url = 'http://' . $server_info['domain'] . '/api/setSsl';
$api_url = 'http://' . $serverInfo['init_domain'] . '/api/setSsl';
$api_param = [
'domain' => $domain_info['domain'],
'private_key' => $domain_info['private_key'],
... ... @@ -78,7 +81,7 @@ class EditDomainBt implements ShouldQueue
'is_redirect' => $domain_info['is_redirect']
];
} else {
$api_url = 'http://' . $server_info['domain'] . '/api/applySsl';
$api_url = 'http://' . $serverInfo['init_domain'] . '/api/applySsl';
$api_param = [
'domain' => $domain_info['domain'],
'rewrite' => $domain_info['extend_config'],
... ...
... ... @@ -35,6 +35,7 @@ class ServerConfig extends Base
const STATUS_ONE = 1;
const SELF_SITE_ID = 6;//自建站服务器ID
const SELF_TEST_ID = 7;//测试服务器ID
/**
* @remark :获取数据用户名解密
... ...