Browse Source

Fixed sticky session not working on create endpoint function

TC pushbot 5 8 months ago
parent
commit
6192baaac7
2 changed files with 18 additions and 23 deletions
  1. 5 12
      reverseproxy.go
  2. 13 11
      web/components/rules.html

+ 5 - 12
reverseproxy.go

@@ -207,12 +207,7 @@ func ReverseProxyHandleAddEndpoint(w http.ResponseWriter, r *http.Request) {
 	useBypassGlobalTLS := bypassGlobalTLS == "true"
 
 	//Enable TLS validation?
-	stv, _ := utils.PostPara(r, "tlsval")
-	if stv == "" {
-		stv = "false"
-	}
-
-	skipTlsValidation := (stv == "true")
+	skipTlsValidation, _ := utils.PostBool(r, "tlsval")
 
 	//Get access rule ID
 	accessRuleID, _ := utils.PostPara(r, "access")
@@ -225,12 +220,10 @@ func ReverseProxyHandleAddEndpoint(w http.ResponseWriter, r *http.Request) {
 	}
 
 	// Require basic auth?
-	rba, _ := utils.PostPara(r, "bauth")
-	if rba == "" {
-		rba = "false"
-	}
+	requireBasicAuth, _ := utils.PostBool(r, "bauth")
 
-	requireBasicAuth := (rba == "true")
+	//Use sticky session?
+	useStickySession, _ := utils.PostBool(r, "stickysess")
 
 	// Require Rate Limiting?
 	requireRateLimit := false
@@ -328,7 +321,7 @@ func ReverseProxyHandleAddEndpoint(w http.ResponseWriter, r *http.Request) {
 				},
 			},
 			InactiveOrigins:  []*loadbalance.Upstream{},
-			UseStickySession: false, //TODO: Move options to webform
+			UseStickySession: useStickySession,
 
 			//TLS
 			BypassGlobalTLS:  useBypassGlobalTLS,

+ 13 - 11
web/components/rules.html

@@ -166,17 +166,18 @@
 
     //New Proxy Endpoint
     function newProxyEndpoint(){
-        var rootname = $("#rootname").val();
-        var proxyDomain = $("#proxyDomain").val();
-        var useTLS = $("#reqTls")[0].checked;
-        var skipTLSValidation = $("#skipTLSValidation")[0].checked;
-        var bypassGlobalTLS = $("#bypassGlobalTLS")[0].checked;
-        var requireBasicAuth = $("#requireBasicAuth")[0].checked;
-        var proxyRateLimit = $("#proxyRateLimit").val();
-        var requireRateLimit = $("#requireRateLimit")[0].checked;
-        var skipWebSocketOriginCheck = $("#skipWebsocketOriginCheck")[0].checked;
-        var accessRuleToUse = $("#newProxyRuleAccessFilter").val();
-        
+        let rootname = $("#rootname").val();
+        let proxyDomain = $("#proxyDomain").val();
+        let useTLS = $("#reqTls")[0].checked;
+        let skipTLSValidation = $("#skipTLSValidation")[0].checked;
+        let bypassGlobalTLS = $("#bypassGlobalTLS")[0].checked;
+        let requireBasicAuth = $("#requireBasicAuth")[0].checked;
+        let proxyRateLimit = $("#proxyRateLimit").val();
+        let requireRateLimit = $("#requireRateLimit")[0].checked;
+        let skipWebSocketOriginCheck = $("#skipWebsocketOriginCheck")[0].checked;
+        let accessRuleToUse = $("#newProxyRuleAccessFilter").val();
+        let useStickySessionLB = $("#useStickySessionLB")[0].checked; 
+
         if (rootname.trim() == ""){
             $("#rootname").parent().addClass("error");
             return
@@ -207,6 +208,7 @@
                 ratenum: proxyRateLimit,
                 cred: JSON.stringify(credentials),
                 access: accessRuleToUse,
+                stickysess: useStickySessionLB,
             },
             success: function(data){
                 if (data.error != undefined){