Files
EdgeAdmin/web/views/@default/servers/server/settings/origins/addPopup.html
2023-12-13 11:08:35 +08:00

182 lines
7.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{$layout "layout_popup"}
<h3>添加源站</h3>
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="reverseProxyId" :value="reverseProxyId"/>
<input type="hidden" name="originType" :value="originType"/>
<table class="ui table selectable definition">
<tr>
<td class="title">源站协议</td>
<td>
<!-- HTTP -->
<select class="ui dropdown auto-width" name="protocol" v-model="protocol" v-if="serverType == 'httpProxy' || serverType == 'httpWeb'" @change="changeProtocol">
<option value="http">HTTP</option>
<option value="https">HTTPS</option>
<!-- 对象存储 -->
<optgroup label="对象存储" v-if="ossTypes.length > 0"></optgroup>
<option v-for="ossType in ossTypes" :value="ossType.code">{{ossType.name}}</option>
</select>
<!-- TCP -->
<select class="ui dropdown auto-width" name="protocol" v-model="protocol" v-if="serverType == 'tcpProxy'">
<option value="tcp">TCP</option>
<option value="tls">TLS</option>
</select>
<!-- UDP -->
<select class="ui dropdown auto-width" name="protocol" v-model="protocol" v-if="serverType == 'udpProxy'">
<option value="udp">UDP</option>
</select>
</td>
</tr>
<!-- 普通源站 -->
<tr v-show="!isOSS">
<td class="title">源站地址 *</td>
<td>
<div class="ui input left labeled">
<span class="ui label">{{protocol.toLowerCase()}}://</span>
<input type="text" name="addr" ref="focus" v-model="addr" @input="changeAddr"/>
</div>
<p class="comment"><span class="red" v-if="addrError.length > 0">{{addrError}}</span>
源站服务器地址通常是一个IP或域名加端口<span v-if="serverType == 'httpProxy'">,不需要加 http:// 或 https://</span></p>
</td>
</tr>
<tr v-if="(isHTTP || protocol == 'tls') && !isOSS">
<td>回源主机名</td>
<td>
<input type="text" name="host" placeholder="比如example.com" maxlength="100"/>
<p class="comment">可选项。请求源站时的Host字段值用于设置访问源站的站点域名<span v-if="isHTTP">,支持请求变量</span></p>
</td>
</tr>
<!-- OSS -->
{$ .ossForm}
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>
<tbody v-show="moreOptionsVisible">
<tr v-if="protocol == 'https' || protocol == 'tls'">
<td>{{protocol.toUpperCase()}}证书</td>
<td>
<ssl-certs-box :v-single-mode="true" :v-view-size="'mini'" :v-description="'可以选择连接源站使用的证书;除非源站有特殊需求,否则不需要添加。'"></ssl-certs-box>
</td>
</tr>
<tr v-show="protocol != 'udp'">
<td>专属域名</td>
<td>
<domains-box></domains-box>
<p class="comment">默认不需要填写,表示支持所有域名。如果填写了专属域名,表示这些源站只会在所列的专属域名被访问时才生效。</p>
</td>
</tr>
<tr v-show="!isOSS">
<td>端口跟随</td>
<td>
<checkbox name="followPort"></checkbox>
<p class="comment">选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。</p>
</td>
</tr>
<tr v-show="!isOSS && protocol == 'https'">
<td>支持HTTP/2</td>
<td>
<checkbox name="http2Enabled"></checkbox>
<p class="comment">选中后表示源站支持HTTP/2协议。</p>
</td>
</tr>
<tr>
<td>权重</td>
<td>
<input type="text" name="weight" maxlength="4" value="10" style="width:5em"/>
<p class="comment">数字越大,代表分配的请求比例越多。</p>
</td>
</tr>
<tr>
<td>名称</td>
<td>
<input type="text" name="name" maxlength="100"/>
<p class="comment">给当前源站起一个容易识别的名称。</p>
</td>
</tr>
<tr v-show="!isOSS">
<td>连接失败超时时间</td>
<td>
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="connTimeout" value="10" size="6"/>
</div>
<div class="ui field">
</div>
</div>
<p class="comment">连接源站失败的最大超时时间0表示不限制。</p>
</td>
</tr>
<tr v-if="isHTTP && !isOSS">
<td>读取超时时间</td>
<td>
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="readTimeout" value="0" size="6"/>
</div>
<div class="ui field">
</div>
</div>
<p class="comment">读取内容时的最大超时时间0表示不限制。</p>
</td>
</tr>
<tr v-if="isHTTP && !isOSS">
<td>最大并发连接数</td>
<td>
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="maxConns" value="0" size="6" maxlength="10"/>
</div>
</div>
<p class="comment">源站可以接受到的最大并发连接数0表示使用系统默认。</p>
</td>
</tr>
<tr v-if="isHTTP && !isOSS">
<td>最大空闲连接数</td>
<td>
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="maxIdleConns" value="0" size="6" maxlength="10"/>
</div>
</div>
<p class="comment">当没有请求时源站保持等待的最大空闲连接数量0表示使用系统默认。</p>
</td>
</tr>
<tr v-if="isHTTP && !isOSS">
<td>最大空闲超时时间</td>
<td>
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="idleTimeout" value="0" size="6"/>
</div>
<div class="ui field">
</div>
</div>
<p class="comment">源站保持等待的空闲超时时间0表示使用默认时间。</p>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<textarea name="description" rows="3" maxlength="100"></textarea>
</td>
</tr>
<tr>
<td>启用当前源站</td>
<td>
<checkbox name="isOn" :value="true"></checkbox>
</td>
</tr>
</tbody>
</table>
<submit-btn></submit-btn>
</form>