Last active
June 9, 2020 17:51
-
-
Save abiosoft/844bb5eb5d0dcd4071509d0b1d6be957 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "logging": { | |
| "logs": { | |
| "default": { | |
| "level": "DEBUG" | |
| } | |
| } | |
| }, | |
| "admin": { | |
| "listen": ":2020", | |
| "origins": [ | |
| "192.168.10.2:2020" | |
| ], | |
| "enforce_origin": false | |
| }, | |
| "apps": { | |
| "http": { | |
| "servers": { | |
| "srv": { | |
| "listen": [ | |
| ":443", | |
| ":80" | |
| ], | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "jackett.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.3:9117" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "dash.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.23:8080" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "radarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.13:7878" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "hass.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.20:8123" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "bazarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.17:6767" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "/notifications/hub/negotiate" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:8080" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "/notifications/hub" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:3012" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "*" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:80" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "heimdall.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.21:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "nextcloud.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.7:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "sonarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.15:8989" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "emby.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.12:8096" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "portainer.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.4:9000" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "kibana.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.27:5601" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "elasticsearch.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.18:9200" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "wg-gen-web.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.5:8080" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "deluge.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.25:8112" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "gotify.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.9:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "appdaemon.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.26:5050" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "jellyfin.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.11:8096" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "registry.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.16:5000" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| } | |
| ], | |
| "automatic_https": { | |
| "skip": [ | |
| "dash.example.eu" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "tls": { | |
| "automation": { | |
| "policies": [ | |
| { | |
| "issuer": { | |
| "email": "[email protected]", | |
| "module": "acme" | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "logging": { | |
| "logs": { | |
| "default": { | |
| "level": "DEBUG" | |
| } | |
| } | |
| }, | |
| "admin": { | |
| "listen": ":2020", | |
| "origins": [ | |
| "192.168.10.2:2020" | |
| ], | |
| "enforce_origin": false | |
| }, | |
| "apps": { | |
| "http": { | |
| "servers": { | |
| "srv": { | |
| "listen": [ | |
| ":443", | |
| ":80" | |
| ], | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "jackett.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.3:9117" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "dash.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.23:8080" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "radarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.13:7878" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "hass.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.20:8123" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "bazarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.17:6767" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "/notifications/hub/negotiate" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:8080" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "/notifications/hub" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:3012" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| }, | |
| "path": [ | |
| "*" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.8:80" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "heimdall.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.21:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "nextcloud.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.7:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "sonarr.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.15:8989" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "emby.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.12:8096" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "portainer.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.4:9000" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "kibana.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.27:5601" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "elasticsearch.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.18:9200" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "wg-gen-web.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.5:8080" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "deluge.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.25:8112" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "gotify.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.9:80" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "appdaemon.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.26:5050" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "jellyfin.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.11:8096" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "host": [ | |
| "registry.example.eu" | |
| ] | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "subroute", | |
| "routes": [ | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "192.168.10.0/24", | |
| "192.168.20.0/24", | |
| "172.18.0.0/16" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "reverse_proxy", | |
| "upstreams": [ | |
| { | |
| "dial": "172.18.0.16:5000" | |
| } | |
| ], | |
| "headers": { | |
| "request": { | |
| "set": { | |
| "X-Real-Ip": [ | |
| "{http.request.remote.host}" | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "match": [ | |
| { | |
| "remote_ip": { | |
| "ranges": [ | |
| "0.0.0.0/0" | |
| ] | |
| } | |
| } | |
| ], | |
| "handle": [ | |
| { | |
| "handler": "static_response", | |
| "body": " " | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ], | |
| "terminal": true | |
| } | |
| ], | |
| "automatic_https": { | |
| "skip": [ | |
| "dash.example.eu" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "tls": { | |
| "automation": { | |
| "policies": [ | |
| { | |
| "issuer": { | |
| "email": "[email protected]", | |
| "module": "acme" | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment