Skip to content

Commit d8ef610

Browse files
committed
Rate limiting to the compose prod
1 parent efe1dc0 commit d8ef610

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

compose.prod.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,23 @@ services:
3030
image: ghcr.io/dreamsofcode-io/guestbook:prod
3131
labels:
3232
- "traefik.enable=true"
33-
- "traefik.http.routers.guestbook.rule=Host(`zenful.cloud`)"
33+
- "traefik.http.middlewares.guestbook-ratelimit.ratelimit.average=20"
34+
- "traefik.http.routers.guestbook.rule=Host(`zenful.cloud`) && !Method(`POST`)"
3435
- "traefik.http.routers.guestbook.entrypoints=websecure"
3536
- "traefik.http.routers.guestbook.tls.certresolver=myresolver"
37+
- "traefik.http.routers.guestbook.middlewares=guestbook-ratelimit"
38+
# Define separate router for POST methods
39+
- "traefik.http.middlewares.guestbook-ratelimit-post.ratelimit.average=1"
40+
- "traefik.http.middlewares.guestbook-ratelimit-post.ratelimit.period=1m"
41+
- "traefik.http.routers.guestbook-post.rule=Host(`zenful.cloud`) && Method(`POST`)"
42+
- "traefik.http.routers.guestbook-post.middlewares=guestbook-ratelimit-post"
43+
- "traefik.http.routers.guestbook-post.entrypoints=websecure"
44+
- "traefik.http.routers.guestbook-post.tls.certresolver=myresolver"
45+
# Proxy
46+
- "traefik.http.routers.proxy.rule=Host(`proxy.dreamsofcode.io`)"
47+
- "traefik.http.routers.proxy.entrypoints=websecure"
48+
- "traefik.http.routers.proxy.tls.certresolver=myresolver"
49+
# Enable watchtower
3650
- "com.centurylinklabs.watchtower.enable=true"
3751
environment:
3852
- POSTGRES_HOST=db

0 commit comments

Comments
 (0)