diff --git a/main.go b/main.go
index 0fdf2626..20cfca4e 100755
--- a/main.go
+++ b/main.go
@@ -29,6 +29,7 @@ import (
 	"runtime"
 	"runtime/debug"
 	"strconv"
+	"strings"
 	"time"
 
 	cert "github.com/arduino/arduino-create-agent/certificates"
@@ -372,10 +373,16 @@ func loop() {
 		extraOrigins = append(extraOrigins, "https://127.0.0.1:"+port)
 	}
 
-	allowOrigings := []string{*origins}
-	allowOrigings = append(allowOrigings, extraOrigins...)
+	allowOrigins := strings.Split(*origins, ",")
+	// We need to trim possible spaces from the origins, otherwise the CORS middleware
+	// validation might not work as expected
+	for i := range allowOrigins {
+		allowOrigins[i] = strings.TrimSpace(allowOrigins[i])
+	}
+	allowOrigins = append(allowOrigins, extraOrigins...)
 	r.Use(cors.New(cors.Config{
-		AllowOrigins:        allowOrigings,
+		AllowWildcard:       true,
+		AllowOrigins:        allowOrigins,
 		AllowMethods:        []string{"PUT", "GET", "POST", "DELETE"},
 		AllowHeaders:        []string{"Origin", "Authorization", "Content-Type"},
 		ExposeHeaders:       []string{},