mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	可以修改访问未绑定域名时的提示页面的状态码
This commit is contained in:
		@@ -10,6 +10,8 @@ import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	"github.com/iwind/TeaGo/actions"
 | 
			
		||||
	"github.com/iwind/TeaGo/maps"
 | 
			
		||||
	"github.com/iwind/TeaGo/types"
 | 
			
		||||
	"regexp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IndexAction struct {
 | 
			
		||||
@@ -42,8 +44,13 @@ func (this *IndexAction) RunGet(params struct {
 | 
			
		||||
	this.Data["config"] = config
 | 
			
		||||
 | 
			
		||||
	var httpAllDomainMismatchActionContentHTML = ""
 | 
			
		||||
	if config.HTTPAll.DomainMismatchAction != nil {
 | 
			
		||||
	var httpAllDomainMismatchActionStatusCode = "404"
 | 
			
		||||
	if config.HTTPAll.DomainMismatchAction != nil && config.HTTPAll.DomainMismatchAction.Options != nil {
 | 
			
		||||
		httpAllDomainMismatchActionContentHTML = config.HTTPAll.DomainMismatchAction.Options.GetString("contentHTML")
 | 
			
		||||
		var statusCode = config.HTTPAll.DomainMismatchAction.Options.GetInt("statusCode")
 | 
			
		||||
		if statusCode > 0 {
 | 
			
		||||
			httpAllDomainMismatchActionStatusCode = types.String(statusCode)
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		httpAllDomainMismatchActionContentHTML = `<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
@@ -67,6 +74,7 @@ p { color: grey; }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Data["httpAllDomainMismatchActionContentHTML"] = httpAllDomainMismatchActionContentHTML
 | 
			
		||||
	this.Data["httpAllDomainMismatchActionStatusCode"] = httpAllDomainMismatchActionStatusCode
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
}
 | 
			
		||||
@@ -76,6 +84,7 @@ func (this *IndexAction) RunPost(params struct {
 | 
			
		||||
 | 
			
		||||
	HttpAllMatchDomainStrictly             bool
 | 
			
		||||
	HttpAllDomainMismatchActionContentHTML string
 | 
			
		||||
	HttpAllDomainMismatchActionStatusCode  string
 | 
			
		||||
	HttpAllAllowMismatchDomainsJSON        []byte
 | 
			
		||||
	HttpAllAllowNodeIP                     bool
 | 
			
		||||
	HttpAllDefaultDomain                   string
 | 
			
		||||
@@ -121,11 +130,18 @@ func (this *IndexAction) RunPost(params struct {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var domainMisMatchStatusCodeString = params.HttpAllDomainMismatchActionStatusCode
 | 
			
		||||
	if !regexp.MustCompile(`^\d{3}$`).MatchString(domainMisMatchStatusCodeString) {
 | 
			
		||||
		this.FailField("httpAllDomainMismatchActionContentStatusCode", "请输入正确的状态码")
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	var domainMisMatchStatusCode = types.Int(domainMisMatchStatusCodeString)
 | 
			
		||||
 | 
			
		||||
	config.HTTPAll.MatchDomainStrictly = params.HttpAllMatchDomainStrictly
 | 
			
		||||
	config.HTTPAll.DomainMismatchAction = &serverconfigs.DomainMismatchAction{
 | 
			
		||||
		Code: serverconfigs.DomainMismatchActionPage,
 | 
			
		||||
		Options: maps.Map{
 | 
			
		||||
			"statusCode":  404,
 | 
			
		||||
			"statusCode":  domainMisMatchStatusCode,
 | 
			
		||||
			"contentHTML": params.HttpAllDomainMismatchActionContentHTML,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,13 @@
 | 
			
		||||
                    <p class="comment">选中后,表示禁止未绑定的域名和IP访问。</p>
 | 
			
		||||
                </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr v-show="config.httpAll.matchDomainStrictly">
 | 
			
		||||
                <td class="color-border">提示页面状态码</td>
 | 
			
		||||
                <td>
 | 
			
		||||
                    <input type="text" name="httpAllDomainMismatchActionStatusCode" v-model="httpAllDomainMismatchActionStatusCode" style="width: 4em" maxlength="3"/>
 | 
			
		||||
                    <p class="comment">默认404。</p>
 | 
			
		||||
                </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr v-show="config.httpAll.matchDomainStrictly">
 | 
			
		||||
                <td class="color-border">未绑定域名页面提示</td>
 | 
			
		||||
                <td>
 | 
			
		||||
@@ -35,7 +42,7 @@
 | 
			
		||||
                <td class="color-border">默认域名</td>
 | 
			
		||||
                <td>
 | 
			
		||||
                    <input type="text" name="httpAllDefaultDomain" v-model="config.httpAll.defaultDomain"/>
 | 
			
		||||
                    <p class="comment">例外域名或使用节点IP访问时使用的默认域名。</p>
 | 
			
		||||
                    <p class="comment">例外域名或使用节点IP访问时使用的默认域名;如果指定的域名在集群里已经绑定到某个网站,则相当于直接访问该网站。</p>
 | 
			
		||||
                </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user