mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	反向代理源站可以设置权重
This commit is contained in:
		@@ -3,6 +3,7 @@ package origins
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
@@ -39,6 +40,7 @@ func (this *AddPopupAction) RunPost(params struct {
 | 
			
		||||
	OriginType string
 | 
			
		||||
 | 
			
		||||
	ReverseProxyId int64
 | 
			
		||||
	Weight         int32
 | 
			
		||||
	Protocol       string
 | 
			
		||||
	Addr           string
 | 
			
		||||
 | 
			
		||||
@@ -56,7 +58,7 @@ func (this *AddPopupAction) RunPost(params struct {
 | 
			
		||||
	host := addr[:portIndex]
 | 
			
		||||
	port := addr[portIndex+1:]
 | 
			
		||||
 | 
			
		||||
	resp, err := this.RPC().OriginRPC().CreateOrigin(this.AdminContext(), &pb.CreateOriginRequest{
 | 
			
		||||
	createResp, err := this.RPC().OriginRPC().CreateOrigin(this.AdminContext(), &pb.CreateOriginRequest{
 | 
			
		||||
		Name: "",
 | 
			
		||||
		Addr: &pb.NetworkAddress{
 | 
			
		||||
			Protocol:  params.Protocol,
 | 
			
		||||
@@ -64,12 +66,13 @@ func (this *AddPopupAction) RunPost(params struct {
 | 
			
		||||
			PortRange: port,
 | 
			
		||||
		},
 | 
			
		||||
		Description: "",
 | 
			
		||||
		Weight:      params.Weight,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	originId := resp.OriginId
 | 
			
		||||
	originId := createResp.OriginId
 | 
			
		||||
	originRef := &serverconfigs.OriginRef{
 | 
			
		||||
		IsOn:     true,
 | 
			
		||||
		OriginId: originId,
 | 
			
		||||
@@ -128,5 +131,8 @@ func (this *AddPopupAction) RunPost(params struct {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 日志
 | 
			
		||||
	this.CreateLog(oplogs.LevelInfo, "为反向代理服务 %d 添加源站 %d", params.ReverseProxyId, originId)
 | 
			
		||||
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package origins
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
@@ -81,5 +82,8 @@ func (this *DeleteAction) RunPost(params struct {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 日志
 | 
			
		||||
	this.CreateLog(oplogs.LevelInfo, "删除反向代理服务 %d 的源站 %d", params.ReverseProxyId, params.OriginId)
 | 
			
		||||
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ package origins
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
@@ -57,6 +58,7 @@ func (this *UpdatePopupAction) RunGet(params struct {
 | 
			
		||||
		"id":       config.Id,
 | 
			
		||||
		"protocol": config.Addr.Protocol,
 | 
			
		||||
		"addr":     config.Addr.Host + ":" + config.Addr.PortRange,
 | 
			
		||||
		"weight":   config.Weight,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
@@ -69,6 +71,7 @@ func (this *UpdatePopupAction) RunPost(params struct {
 | 
			
		||||
	ReverseProxyId int64
 | 
			
		||||
	Protocol       string
 | 
			
		||||
	Addr           string
 | 
			
		||||
	Weight         int32
 | 
			
		||||
 | 
			
		||||
	Must *actions.Must
 | 
			
		||||
}) {
 | 
			
		||||
@@ -93,11 +96,15 @@ func (this *UpdatePopupAction) RunPost(params struct {
 | 
			
		||||
			PortRange: port,
 | 
			
		||||
		},
 | 
			
		||||
		Description: "",
 | 
			
		||||
		Weight:      params.Weight,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 日志
 | 
			
		||||
	this.CreateLog(oplogs.LevelInfo, "修改反向代理服务 %d 的源站 %d", params.ReverseProxyId, params.OriginId)
 | 
			
		||||
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ Vue.component("origin-list-box", {
 | 
			
		||||
	methods: {
 | 
			
		||||
		createPrimaryOrigin: function () {
 | 
			
		||||
			teaweb.popup("/servers/server/settings/origins/addPopup?originType=primary&" + this.vParams, {
 | 
			
		||||
				height: "22em",
 | 
			
		||||
				callback: function (resp) {
 | 
			
		||||
					window.location.reload()
 | 
			
		||||
				}
 | 
			
		||||
@@ -16,6 +17,7 @@ Vue.component("origin-list-box", {
 | 
			
		||||
		},
 | 
			
		||||
		createBackupOrigin: function () {
 | 
			
		||||
			teaweb.popup("/servers/server/settings/origins/addPopup?originType=backup&" + this.vParams, {
 | 
			
		||||
				height: "22em",
 | 
			
		||||
				callback: function (resp) {
 | 
			
		||||
					window.location.reload()
 | 
			
		||||
				}
 | 
			
		||||
@@ -23,6 +25,7 @@ Vue.component("origin-list-box", {
 | 
			
		||||
		},
 | 
			
		||||
		updateOrigin: function (originId, originType) {
 | 
			
		||||
			teaweb.popup("/servers/server/settings/origins/updatePopup?originType=" + originType + "&" + this.vParams + "&originId=" + originId, {
 | 
			
		||||
				height: "22em",
 | 
			
		||||
				callback: function (resp) {
 | 
			
		||||
					window.location.reload()
 | 
			
		||||
				}
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,13 @@
 | 
			
		||||
				<p class="comment">源站服务器地址,通常是一个IP(或域名)加端口<span v-if="serverType == 'httpProxy'">,不需要加 http:// 或 https://</span>。</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>
 | 
			
		||||
	</table>
 | 
			
		||||
	<submit-btn></submit-btn>
 | 
			
		||||
</form>
 | 
			
		||||
@@ -31,6 +31,13 @@
 | 
			
		||||
				<p class="comment">源站服务器地址,通常是一个IP(或域名)加端口<span v-if="serverType == 'httpProxy'">,不需要加 http:// 或 https://</span>。</p>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td>权重</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<input type="text" name="weight" maxlength="4" v-model="origin.weight"  style="width:5em"/>
 | 
			
		||||
				<p class="comment">数字越大,代表分配的请求比例越多。</p>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
	</table>
 | 
			
		||||
	<submit-btn></submit-btn>
 | 
			
		||||
</form>
 | 
			
		||||
		Reference in New Issue
	
	Block a user