Define Multiple Middlewares

Di sini saya mau mencontohkan dua middlewares saja, headers dan ipwhitelist. Rate limit dan middlewares lain, bakal saya bahas di lain waktu.

Kenapa saya nulis ini? di awal-awal saya kesulitan buat define multiple middlewares di traefik (kesalahan saya, saya tulis di bawah). Semoga bisa membantu pemula yang menggunakan traefik seperti saya, berikut tutorialnya:

  1. Buat 1 buat file aing_saha.yml
version: "3.7"

services:

  aing_saha:
    image: containous/whoami

    deploy:
      mode: replicated
      replicas: 1

      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik-production
        - traefik.http.routers.aing_saha-http.rule=Host(`aing-saha.ipang.my.id`)
        - traefik.http.routers.aing_saha-http.entrypoints=http
          #140.xxx.xx dan 112.xxx.xx itu IP mobile data saya
          #nama nya aing_saha_whitelist
        - traefik.http.middlewares.aing_saha_whitelist.ipwhitelist.sourcerange=127.0.0.1/32, 140.213.11.233/32, 112.215.151.155/32
        # command to not to indexing, crawling, translate our website
        # nama nya secure_headers
        - traefik.http.middlewares.aing_saha_secure_headers.headers.customresponseheaders.x-robots-tag=noindex, nofollow, nosnippet, noarchive, noimageindex, notranslate
        #define nama middleware
        - traefik.http.routers.aing_saha-http.middlewares=aing_saha_secure_headers, aing_saha_whitelist
        #port si containous/whoami
        - traefik.http.services.aing_saha.loadbalancer.server.port=80

    networks:
      - traefik-production

networks:
  traefik-production:
     external: true
  1. Deploy aplikasi docker stack deploy -c aing_saha.yml aing_saha

  2. Coba akses lewat browser

Kalau di Browser Begini Tampilan IP yang Ga di Whitelist

Kalau di Browser Begini Tampilan IP yang Ga di Whitelist

Beberapa catatan kalau middlewares ga jalan:

  1. Urutannya salah. Ini kasus yang paling sering kejadian di saya, best practices saya define middlewares routers di paling bawah, sebelum loadbalancer

  2. Variabel middlewares salah

  3. Nama middlewares salah


Jika kamu merasa tulisan ini bermanfaat & membantu kamu, kamu bisa berdonasi lewat saweria

If you feel this website help you, you can donate at saweria