集群DNS设置增加允许通过CNAME访问网站服务选项/集群DNS设置可以设置不使用主域名

This commit is contained in:
GoEdgeLab
2022-07-14 09:48:13 +08:00
parent 6ba3a3d0f6
commit 35d8c2a6f3
3 changed files with 28 additions and 6 deletions

View File

@@ -52,6 +52,7 @@ func (this *IndexAction) RunGet(params struct {
this.Data["cnameRecords"] = dnsInfoResp.CnameRecords
}
this.Data["ttl"] = dnsInfoResp.Ttl
this.Data["cnameAsDomain"] = dnsInfoResp.CnameAsDomain
this.Show()
}
@@ -65,6 +66,9 @@ func (this *IndexAction) RunPost(params struct {
ServersAutoSync bool
CnameRecords []string
Ttl int32
CnameAsDomain bool
ConfirmResetDomain bool // 是否确认重置域名
Must *actions.Must
CSRF *actionutils.CSRF
@@ -72,6 +76,7 @@ func (this *IndexAction) RunPost(params struct {
// 创建日志
defer this.CreateLog(oplogs.LevelInfo, "修改集群 %d DNS设置", params.ClusterId)
if !params.ConfirmResetDomain {
if params.DnsDomainId <= 0 {
this.Fail("请选择集群的主域名")
}
@@ -79,6 +84,7 @@ func (this *IndexAction) RunPost(params struct {
params.Must.
Field("dnsName", params.DnsName).
Require("请输入DNS子域名")
}
// 检查DNS名称
if len(params.DnsName) > 0 {
@@ -108,6 +114,7 @@ func (this *IndexAction) RunPost(params struct {
ServersAutoSync: params.ServersAutoSync,
CnameRecords: params.CnameRecords,
Ttl: params.Ttl,
CnameAsDomain: params.CnameAsDomain,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -16,6 +16,13 @@
<p class="comment">用于生成集群节点和网站服务的DNS解析记录<span v-if="domainId > 0">,修改后将自动删除旧域名中的相关记录</span></p>
</td>
</tr>
<tr v-if="oldDomain.id > 0 && domain.id == 0">
<td>不使用主域名</td>
<td>
<checkbox name="confirmResetDomain"></checkbox>
<p class="comment">选中后,表示确认当前集群不使用主域名;否则必须选择一个主域名。</p>
</td>
</tr>
<tr>
<td class="title">DNS子域名 *</td>
<td>
@@ -47,6 +54,13 @@
</div>
<p class="comment">每个DNS服务商或者账号的TTL限制各有不同请注意取值范围。0表示使用默认。</p>
</td>
</tr>
<tr>
<td>允许通过CNAME访问网站服务</td>
<td>
<checkbox name="cnameAsDomain" v-model="cnameAsDomain"></checkbox>
<p class="comment">选中后表示允许使用CNAME直接访问网站服务如果取消选中则表示CNAME只作为DNS解析记录使用。</p>
</td>
</tr>
<tr>
<td>是否同步节点DNS状态</td>

View File

@@ -2,6 +2,7 @@ Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
this.domain = {id: this.domainId, name: this.domainName}
this.oldDomain = {id: this.domainId, name: this.domainName}
this.changeDomain = function (domain) {
this.domain.id = domain.id
this.domain.name = domain.name