mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 05:00:25 +08:00
103 lines
2.3 KiB
JavaScript
103 lines
2.3 KiB
JavaScript
Tea.context(function () {
|
||
this.addr = ""
|
||
this.protocol = ""
|
||
this.isOSS = false
|
||
|
||
this.addrError = ""
|
||
|
||
// 当前网站协议
|
||
this.isHTTP = (this.serverType == "httpProxy" || this.serverType == "httpWeb")
|
||
if (this.serverType == "httpProxy") {
|
||
this.protocol = "http"
|
||
} else if (this.serverType == "tcpProxy") {
|
||
this.protocol = "tcp"
|
||
} else if (this.serverType == "udpProxy") {
|
||
this.protocol = "udp"
|
||
}
|
||
|
||
this.changeProtocol = function () {
|
||
this.isOSS = this.protocol.startsWith("oss:")
|
||
|
||
if (this.protocol == "http") {
|
||
this.detectHTTPS()
|
||
} else {
|
||
this.adviceHTTPS = false
|
||
}
|
||
|
||
this.checkPort()
|
||
}
|
||
|
||
this.changeAddr = function () {
|
||
this.adviceHTTPS = false
|
||
|
||
if (this.serverType == "httpProxy") {
|
||
if (this.addr.startsWith("http://")) {
|
||
this.protocol = "http"
|
||
} else if (this.addr.startsWith("https://")) {
|
||
this.protocol = "https"
|
||
}
|
||
}
|
||
|
||
this.checkPort()
|
||
}
|
||
|
||
this.checkPort = function () {
|
||
this.addrError = ""
|
||
|
||
// HTTP
|
||
if (this.protocol == "http") {
|
||
if (this.addr.endsWith(":443")) {
|
||
this.addrError = "443通常是HTTPS协议端口,请确认源站协议选择是否正确。"
|
||
} else if (this.addr.endsWith(":8443")) {
|
||
this.addrError = "8443通常是HTTPS协议端口,请确认源站协议选择是否正确。"
|
||
}
|
||
}
|
||
|
||
// HTTPS
|
||
if (this.protocol == "https") {
|
||
if (this.addr.endsWith(":80")) {
|
||
this.addrError = "80通常是HTTP协议端口,请确认源站协议选择是否正确。"
|
||
} else if (this.addr.endsWith(":8080")) {
|
||
this.addrError = "8080通常是HTTP协议端口,请确认源站协议选择是否正确。"
|
||
}
|
||
}
|
||
}
|
||
|
||
this.adviceHTTPS = false
|
||
|
||
var isDetectingHTTPS = false
|
||
this.detectHTTPS = function () {
|
||
if (isDetectingHTTPS) {
|
||
return
|
||
}
|
||
isDetectingHTTPS = true
|
||
|
||
this.adviceHTTPS = false
|
||
if (this.protocol == "http") {
|
||
this.$post("/servers/server/settings/origins/detectHTTPS")
|
||
.params({
|
||
addr: this.addr
|
||
})
|
||
.success(function (resp) {
|
||
this.adviceHTTPS = resp.data.isOk
|
||
if (resp.data.isOk) {
|
||
this.addr = resp.data.addr
|
||
}
|
||
})
|
||
.done(function () {
|
||
isDetectingHTTPS = false
|
||
})
|
||
} else {
|
||
isDetectingHTTPS = false
|
||
}
|
||
}
|
||
|
||
this.switchToHTTPS = function () {
|
||
this.adviceHTTPS = false
|
||
this.protocol = "https"
|
||
|
||
if (this.addr.endsWith(":80")) {
|
||
this.addr = this.addr.substring(0, this.addr.length - (":80").length)
|
||
}
|
||
}
|
||
}) |