I'm not sure what I'm doing wrong here. Basically, what I want (to begin with) is a simple reverse proxy from our external server (say, with the URL www.foobar.com
and the IP 1.2.3.4
to an internal server with the IP 192.168.2.31
which is running a webserver listening on port 80.
For this simple example, I don't want to putz around with TLS or anything else. Just an incoming request to 1.2.3.4:80
which is then routed to 192.168.2.31:80
Problem is that Traefik always yields a 404
and I'm not seeing any errors in the logs (or even if I'm looking at the correct logs).
So, this is the docker-compose.yml
:
version: '3'
services:
traefik:
image: traefik:v2.9
container_name: traefik
restart: unless-stopped
network_mode: "host"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/traefik.yml:/etc/traefik/traefik.yml
- /etc/localtime:/etc/localtime:ro
I also tried the default network_mode and exposed port 80 - didn't make any difference. Also note that if I try to do wget 192.168.2.31
from inside the docker container with docker exec -it traefik bin/sh
I do indeed get the proper index.html
with the correct content.
The traefik.yml
looks like this (and according to the logs it is indeed loaded - after all, the dashboard at www.foobar.com:8080
is loading!):
api:
dashboard: true
insecure: true
debug: true
entryPoints:
http:
address: ":80"
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
http:
routers:
test:
entryPoints:
- "http"
rule: "Host(`www.foobar.com`)"
service: test
services:
test:
loadBalancer:
servers:
- url: "http://192.168.2.31:80"
log:
level: DEBUG
I do not understand where the problem lies - it also doesn't help that I'm not seeing any errors. Any ideas?