{ "apps": { "http": { "servers": { "example_server": { "listen": [":80", ":443"], "routes": [ { "match": [{"host": ["backend.bloxxi.at"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:4006" } ] } ] }, { "match": [{"host": ["db.node1.bloxxi.at"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:8888" } ] } ] }, { "match": [{"host": ["dommy.art", "www.dommy.art"]}], // Handles both "dommy.art" and "www.dommy.art" "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:4005" } ] } ] }, { "match": [{"host": ["passwords.alpenspace.eu"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.122:83" } ] } ] }, { "match": [{"host": ["studio.bloxxi.at"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:4000" } ] } ] }, { "match": [{"host": ["varia-backend.kunde.bloxxi.at"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:4012" } ] } ] }, { "match": [{"host": ["variaesports.com", "www.variaesports.com"]}], // Handles both "variaesports.com" and "www.variaesports.com" "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "192.168.1.130:4013" } ] } ] }, { "match": [{"host": ["subdomain.example.com"]}], "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "127.0.0.1:8001" } ] } ] } // Add more reverse proxy entries and www to non-www redirects as needed ], "tls_connection_policies": [ { "match": {"sni": ["backend.bloxxi.at"]}, "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["db.node1.bloxxi.at"]}, "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["dommy.art", "www.dommy.art"]}, // Handles both "dommy.art" and "www.dommy.art" "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["passwords.alpenspace.eu"]}, "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["studio.bloxxi.at"]}, "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["varia-backend.kunde.bloxxi.at"]}, "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["variaesports.com", "www.variaesports.com"]}, // Handles both "variaesports.com" and "www.variaesports.com" "certificate_selection": { "any_tag": "letsencrypt" } }, { "match": {"sni": ["subdomain.example.com"]}, "certificate_selection": { "any_tag": "letsencrypt" } } // Add more certificate selections for additional domains/subdomains ], "automatic_https": { "skip": [ "backend.bloxxi.at", "db.node1.bloxxi.at", "dommy.art", "passwords.alpenspace.eu", "studio.bloxxi.at", "varia-backend.kunde.bloxxi.at", "variaesports.com", "subdomain.example.com" ] }, "certificates": { "letsencrypt": { "ca": "https://acme-staging-v02.api.letsencrypt.org/directory", "email": "your-email@example.com", "on_demand": true } } } } } } }