mirror of
https://gitcode.com/JianFeeeee/webui4frpc.git
synced 2026-09-21 01:17:56 +00:00
feat: M3 load balancing + health check (model/render/admin API status/UI)
This commit is contained in:
@ -55,6 +55,24 @@
|
||||
<label>请求头(JSON) <input v-model="httpHeadersField" placeholder='{"X-Custom":"val"}' /></label>
|
||||
<label>BasicAuth 用户 <input v-model="basicAuthUserField" placeholder="user" /></label>
|
||||
<label>BasicAuth 密码 <input v-model="basicAuthPasswordField" type="password" placeholder="pass" /></label>
|
||||
|
||||
<div class="adv-sep">负载均衡 (M3)</div>
|
||||
<label>LB 组 <input v-model="lbGroupField" placeholder="如 web (同组自动负载均衡)" /></label>
|
||||
<label>组密钥 <input v-model="lbGroupKeyField" placeholder="组内相同" /></label>
|
||||
|
||||
<div class="adv-sep">健康检查 (M3)</div>
|
||||
<label
|
||||
>类型
|
||||
<select v-model="healthCheckTypeField">
|
||||
<option value="">关闭</option>
|
||||
<option value="tcp">tcp</option>
|
||||
<option value="http">http</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>HTTP 路径 <input v-model="healthCheckPathField" placeholder="/healthz" /></label>
|
||||
<label>超时(秒) <input v-model.number="healthCheckTimeoutField" type="number" min="0" placeholder="默认3" /></label>
|
||||
<label>失败次数 <input v-model.number="healthCheckMaxFailedField" type="number" min="0" placeholder="默认1" /></label>
|
||||
<label>间隔(秒) <input v-model.number="healthCheckIntervalField" type="number" min="0" placeholder="默认10" /></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -128,6 +146,13 @@ const subdomainField = field('subdomain')
|
||||
const hostHeaderRewriteField = field('hostHeaderRewrite')
|
||||
const basicAuthUserField = field('basicAuthUser')
|
||||
const basicAuthPasswordField = field('basicAuthPassword')
|
||||
const lbGroupField = field('lbGroup')
|
||||
const lbGroupKeyField = field('lbGroupKey')
|
||||
const healthCheckTypeField = field('healthCheckType')
|
||||
const healthCheckPathField = field('healthCheckPath')
|
||||
const healthCheckTimeoutField = field('healthCheckTimeout')
|
||||
const healthCheckMaxFailedField = field('healthCheckMaxFailed')
|
||||
const healthCheckIntervalField = field('healthCheckInterval')
|
||||
|
||||
// locations is an array shown as JSON in the UI
|
||||
const locationsField = computed({
|
||||
|
||||
@ -47,6 +47,15 @@
|
||||
<label>连接池 <input v-model.number="transportPoolField" type="number" min="0" /></label>
|
||||
<label class="adv-sep">HTTP 访问端口 (frps vhostHTTPPort)</label>
|
||||
<label>vhostHTTPPort <input v-model.number="vhostHttpPortField" type="number" min="0" /></label>
|
||||
|
||||
<label class="adv-sep">本地 frpc 管理 API (M3)</label>
|
||||
<label class="adv-check">启用后状态页按真实代理状态展示
|
||||
<span class="hint-txt">(adminPort > 0)</span>
|
||||
</label>
|
||||
<label>地址 <input v-model="adminAddrField" placeholder="127.0.0.1" /></label>
|
||||
<label>端口 <input v-model.number="adminPortField" type="number" min="0" placeholder="如 7400" /></label>
|
||||
<label>用户 <input v-model="adminUserField" placeholder="admin" /></label>
|
||||
<label>密码 <input v-model="adminPasswordField" type="password" placeholder="可选" /></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -87,6 +96,10 @@ const transportTlsField = field('transportTls')
|
||||
const transportTlsServerNameField = field('transportTlsServerName')
|
||||
const transportPoolField = field('transportPool')
|
||||
const vhostHttpPortField = field('vhostHttpPort')
|
||||
const adminAddrField = field('adminAddr')
|
||||
const adminPortField = field('adminPort')
|
||||
const adminUserField = field('adminUser')
|
||||
const adminPasswordField = field('adminPassword')
|
||||
const showAdv = ref(false)
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user