Not sure. There’s a single colon after {upstream}.
{
"match": [
{
"host": [
"*.udance.com.au"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"handle": [
{
"Defaults": null,
"destinations": [
"{upstream}"
],
"handler": "map",
"mappings": [
{
"input": "rslsync",
"outputs": [
"10.1.1.22:8888"
]
},
{
"input": "cloud",
"outputs": [
"10.1.1.29:80"
]
},
{
"input": "heimdall",
"outputs": [
"10.1.1.23:80"
]
},
{
"input": "blog",
"outputs": [
"10.1.1.54:80"
]
},
{
"input": "test",
"outputs": [
"10.1.1.50:80"
]
},
{
"input": "basil",
"outputs": [
"10.1.1.56:80"
]
},
{
"input": "sachika",
"outputs": [
"10.1.1.57:80"
]
}
],
"source": "{http.request.host.labels.3}"
}
]
},
{
"handle": [
{
"handler": "authentication",
"providers": {
"http_basic": {
"accounts": [
{
"password": "REDACTED",
"username": "admin"
}
],
"hash": {
"algorithm": "bcrypt"
},
"hash_cache": {}
}
}
}
],
"match": [
{
"path": [
"/phpmyadmin*"
]
}
]
},
{
"handle": [
{
"encodings": {
"gzip": {}
},
"handler": "encode"
},
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "{upstream}:"
}
]
}
]
}
]
}
],
"terminal": true
}
],
I’m going to roll back and try again later when I have a block of free time.