Merge pull request #905 from nsurleraux-railnova/bind_address

Add a Traefik configuration to listen on a specific address (#903)
This commit is contained in:
Min RK
2023-05-25 15:29:37 +02:00
committed by GitHub
5 changed files with 39 additions and 3 deletions

View File

@@ -244,10 +244,15 @@ def check_hub_ready():
base_url = load_config()["base_url"]
base_url = base_url[:-1] if base_url[-1] == "/" else base_url
http_address = load_config()["http"]["address"]
http_port = load_config()["http"]["port"]
# The default config is an empty address, so it binds on all interfaces.
# Test the connectivity on the local address.
if http_address == "":
http_address = "127.0.0.1"
try:
r = requests.get(
"http://127.0.0.1:%d%s/hub/api" % (http_port, base_url), verify=False
"http://%s:%d%s/hub/api" % (http_address, http_port, base_url), verify=False
)
if r.status_code != 200:
print(f"Hub not ready: (HTTP status {r.status_code})")

View File

@@ -28,10 +28,12 @@ default = {
"cpu": None,
},
"http": {
"address": "",
"port": 80,
},
"https": {
"enabled": False,
"address": "",
"port": 443,
"tls": {
"cert": "",

View File

@@ -22,7 +22,7 @@ X-Xsrftoken = "redact"
[entryPoints]
[entryPoints.http]
address = ":{{ http['port'] }}"
address = "{{ http['address'] }}:{{ http['port'] }}"
[entryPoints.http.transport.respondingTimeouts]
idleTimeout = "10m"
@@ -33,7 +33,7 @@ X-Xsrftoken = "redact"
scheme = "https"
[entryPoints.https]
address = ":{{ https['port'] }}"
address = "{{ https['address'] }}:{{ https['port'] }}"
[entryPoints.https.http.tls]
options = "default"