集群设置中增加服务设置

This commit is contained in:
GoEdgeLab
2022-09-16 18:41:04 +08:00
parent 3452868fa9
commit 15ae21bba8
10 changed files with 245 additions and 53 deletions

View File

@@ -1,15 +1,21 @@
// 域名列表
Vue.component("domains-box", {
props: ["v-domains"],
props: ["v-domains", "name"],
data: function () {
let domains = this.vDomains
if (domains == null) {
domains = []
}
let realName = "domainsJSON"
if (this.name != null && typeof this.name == "string") {
realName = this.name
}
return {
domains: domains,
isAdding: false,
addingDomain: ""
addingDomain: "",
realName: realName
}
},
methods: {
@@ -59,7 +65,7 @@ Vue.component("domains-box", {
}
},
template: `<div>
<input type="hidden" name="domainsJSON" :value="JSON.stringify(domains)"/>
<input type="hidden" :name="realName" :value="JSON.stringify(domains)"/>
<div v-if="domains.length > 0">
<span class="ui label small basic" v-for="(domain, index) in domains">
<span v-if="domain.length > 0 && domain[0] == '~'" class="grey" style="font-style: normal">[正则]</span>

View File

@@ -510,6 +510,9 @@ body.expanded .main {
.main h4 {
font-weight: normal;
}
.main form h4 {
margin-top: 0.6em;
}
.main td span.small {
font-size: 0.8em;
}

File diff suppressed because one or more lines are too long

View File

@@ -476,6 +476,10 @@ body.expanded .main {
font-weight: normal;
}
.main form h4 {
margin-top: 0.6em;
}
.main td span.small {
font-size: 0.8em;
}

View File

@@ -0,0 +1,63 @@
{$layout}
{$template "../menu"}
{$template "/left_menu_with_menu"}
<div class="right-box with-menu">
<form class="ui form" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<input type="hidden" name="clusterId" :value="clusterId"/>
<h4>域名</h4>
<table class="ui table definition selectable">
<tr>
<td class="title color-border">禁止未绑定域名访问</td>
<td>
<checkbox name="httpAllMatchDomainStrictly" v-model="config.httpAll.matchDomainStrictly"></checkbox>
<p class="comment">选中后表示禁止未绑定的域名和IP访问。</p>
</td>
</tr>
<tr v-show="config.httpAll.matchDomainStrictly">
<td class="color-border">页面提示</td>
<td>
<textarea name="httpAllDomainMismatchActionContentHTML" v-model="httpAllDomainMismatchActionContentHTML"></textarea>
<p class="comment">访问未绑定的域名时提示的文字可以使用HTML仅限于HTTP请求不适于用HTTPSHTTPS会提示证书错误</p>
</td>
</tr>
<tr v-show="config.httpAll.matchDomainStrictly">
<td class="color-border">允许例外的域名</td>
<td>
<domains-box name="httpAllAllowMismatchDomainsJSON" :v-domains="config.httpAll.allowMismatchDomains"></domains-box>
<p class="comment">允许这些域名不经过绑定就可以直接访问网站。</p>
</td>
</tr>
<tr v-show="config.httpAll.matchDomainStrictly">
<td class="color-border">允许使用节点IP访问</td>
<td>
<checkbox name="httpAllAllowNodeIP" v-model="config.httpAll.allowNodeIP"></checkbox>
<p class="comment">选中后表示允许使用节点IP访问网站。</p>
</td>
</tr>
<tr v-show="config.httpAll.matchDomainStrictly">
<td class="color-border">默认域名</td>
<td>
<input type="text" name="httpAllDefaultDomain" v-model="config.httpAll.defaultDomain"/>
<p class="comment">例外域名或使用节点IP访问时使用的默认域名。</p>
</td>
</tr>
</table>
<h4>日志</h4>
<table class="ui table definition selectable">
<tr>
<td class="title">记录服务错误</td>
<td>
<checkbox name="logRecordServerError" v-model="config.log.recordServerError"></checkbox>
<p class="comment">在节点运行日志中记录网站服务相关错误,比如无法连接源站等。</p>
</td>
</tr>
</table>
<submit-btn></submit-btn>
</form>
</div>

View File

@@ -0,0 +1,3 @@
Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
})

View File

@@ -11,54 +11,7 @@
<!-- 域名相关配置 -->
<div v-show="tab == 'domainMatch'">
<table class="ui table selectable definition">
<tr>
<td class="title">严格匹配域名</td>
<td>
<checkbox name="matchDomainStrictly" v-model="globalConfig.httpAll.matchDomainStrictly"></checkbox>
<p class="comment">如果选择了严格匹配域名,找不到匹配的域名时会采取对应的动作。</p>
</td>
</tr>
<tbody v-show="globalConfig.httpAll.matchDomainStrictly">
<tr>
<td>默认域名</td>
<td>
<input type="text" name="defaultDomain" v-model="globalConfig.httpAll.defaultDomain" maxlength="100"/>
<p class="comment">当找不到匹配的域名时,自动使用此域名。</p>
</td>
</tr>
<tr>
<td>允许不匹配的域名</td>
<td>
<values-box :name="'allowMismatchDomains'" :values="globalConfig.httpAll.allowMismatchDomains" :size="40" :maxlength="100" :placeholder="'域名'"></values-box>
<p class="comment">允许这些域名即时不匹配也可以访问。</p>
</td>
</tr>
<tr>
<td class="color-border">域名不匹配时的动作</td>
<td>
<radio name="domainMismatchAction" :v-value="'close'" v-model="domainMismatchAction">断开连接</radio>
&nbsp; &nbsp;
<radio name="domainMismatchAction" :v-value="'page'" v-model="domainMismatchAction">显示提示页面</radio>
<p class="comment" v-if="domainMismatchAction == 'close'">当找不到要访问的域名时关闭客户端连接。</p>
<p class="comment" v-if="domainMismatchAction == 'page'">当找不到访问的域名时显示一个提示页面。</p>
</td>
</tr>
<tr v-show="domainMismatchAction == 'page'">
<td class="color-border">响应代码</td>
<td>
<input type="text" name="domainMismatchActionPageStatusCode" v-model="domainMismatchActionPageOptions.statusCode" style="width:4em" maxlength="3"/>
</td>
</tr>
<tr v-show="domainMismatchAction == 'page'">
<td class="color-border">域名不匹配时显示的页面</td>
<td>
<textarea name="domainMismatchActionPageContentHTML" v-model="domainMismatchActionPageOptions.contentHTML" rows="15"></textarea>
</td>
</tr>
</tbody>
</table>
<p class="comment">域名匹配相关配置已经转移到集群设置中,请到对应的集群设置中修改。</p>
</div>
<!-- 域名审核相关配置 -->
@@ -112,5 +65,5 @@
</div>
<div class="margin"></div>
<submit-btn>保存</submit-btn>
<submit-btn v-show="tab != 'domainMatch'">保存</submit-btn>
</form>