Proxy to external service

Hello, I'm still running Traefik v1 because I avoided upgrading but now a few certs expired and I would like to move on to v2.. hower I can't get the configuration right.

I would like to proxy requests from another machine through traefik

for example www.domain1.com -> http://123.123.123.123:9000

I started with the minimal acme example and that works, however I don't get how I can configure it to proxy all request to the other machine, I'm always getting a 404

this is my docker-compose.yml

I configured it to use a file provider, what I noticed here is that it doesn't reload if I change the file contents..

version: "3.3"

services:

  traefik:
    image: "traefik:v2.4"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
     - "--providers.docker.exposedbydefault=false"
      - "--providers.file.filename=rules.yml"
      - "--providers.file.watch=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entryPoint.permanent=true"
      - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
      - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
      #- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
      - "--certificatesresolvers.myresolver.acme.email=system@mymail.com"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"

    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"
      - "./rules.yml:/rules.yml"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.api.entrypoints=web"

and this is my rules.yml

http:
  routers:
    test:
      entryPoints:
        - "web"
      rule: "Host(`mydomain.com`)"
      service: test
  services:
    test:
      loadBalancer:
        servers:
          - url: "http://123.123.123.123:9037"

thats the wget output

 wget mydomain.com
--2021-07-13 02:55:03--  http://mydomain.com/
Resolving mydomain.com (mydomain.com)... 123.123.123.123
Connecting to mydomain.com (mydomain.com)|123.123.123.123|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://mydomain.com/ [following]
--2021-07-13 02:55:03--  https://mydomain.com/
Connecting to mydoain.com (mydomain.com)|123.123.123.123|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-07-13 02:55:04 ERROR 404: Not Found.

ok I think I've got it running, if you spot any mistakes please let me know.

thats my rules.yml

 cat rules.yml
http:
  routers:
    test:
      rule: "Host(`mydomain.com`)"
      service: test
      entryPoints:
        - "websecure"
      tls:
        certresolver:
          - "myresolver"
  services:
    test:
      loadBalancer:
        servers:
        - url: "http://123.123.123.123:9037"

However I still think traefik doesn't reload the config file when I change it, also there aren't any errors despite having the loglevel set to debug when the config file is messed up ?