SlideShare a Scribd company logo
14 Grudnia 2022 | PHPers Wrocław | Michał Grzegorz Kurzeja
Docker reverse proxy z
użyciem Traefik
www.accesto.com
A reverse proxy is a server that sits in front
of web servers and forwards client (e.g. web
browser) requests to those web servers.
Reverse proxies are typically implemented
to help increase security, performance, and
reliability.
cloudflare.net
Reverse proxy?
C. Cache and compression
D. SSL
A. Load balancing
B. Security and protection
E. And more…
Reverse proxy
“A lokalnie?”
6
Dlaczego akurat Traefik?
Jest przecież tyle opcji, m.in. Nginx <3
- Kłopotliwy SSL
- Trudne/niemożliwe debugowanie
- Sporadyczne i niespodziewane
problemy
A Nginx?
8
Traefik automatically discovers the
right configuration for your services. The
magic happens when Traefik inspects
your infrastructure.
Natively compliant with every major
cluster technology, such as Kubernetes,
Docker, Docker Swarm, AWS, Mesos,
Marathon, and the list goes on; and can
handle many at the same time. (It even
works for legacy software running on
bare metal.)
Traefik
9
Odrobina teorii na start
- “traefik.enable=true”
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
- "traefik.http.routers.whoami.entrypoints=web"
Demo time
Skalowanie
Wiele usług
I dodatkowe “matchowanie”
Demo time
Debugowanie
SSL
LetsEncrypt FTW!
Demo?
Nie tym razem, chyba, że wyrobimy się na koniec z jednym tematem ;)
Middleware
7
- Buffering
- BasicAuth
- CircuitBreaker
- Compress
- Headers
- Ip White/Black List
- Redirect
- Retry
- RateLimit
….
Dostępne middleware
Basic auth
echo $(htpasswd -nb user password) | sed -e s/$/$$/g
Ship it!
Review apps
A co to w ogóle jest?
7
1. Jeden “globalny” Traefik
2. Na żądanie gitlab buduje branch i
uruchamia go
3. Branch jest dostępny w swojej
“subdomenie”
4. Środowisko jest zatrzymywane po X
dniach lub na kliknięcie
Review apps
Stop! Mamy problem!
Czyli o network w docker-compose słów kilka.
Thank you
www.accesto.com

More Related Content

Similar to Docker reverse proxy z użyciem Traefik

Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...PROIDEA
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...PROIDEA
 
Delphi. Techniki bazodanowe i internetowe
Delphi. Techniki bazodanowe i internetoweDelphi. Techniki bazodanowe i internetowe
Delphi. Techniki bazodanowe i internetoweWydawnictwo Helion
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryXSolve
 
[CareerCon] Wirtualizacja (PL)
[CareerCon] Wirtualizacja (PL)[CareerCon] Wirtualizacja (PL)
[CareerCon] Wirtualizacja (PL)Jaroslaw Sobel
 
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...HighSolutions Sp. z o.o.
 
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aUruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aLaravel Poland MeetUp
 
Rozproszona i asynchroniczna architektura - case study - Spread it
Rozproszona i asynchroniczna architektura - case study - Spread itRozproszona i asynchroniczna architektura - case study - Spread it
Rozproszona i asynchroniczna architektura - case study - Spread itKrzysztof Szabelski
 
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaLeszek Mi?
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PROIDEA
 
Elitmind @ Azure User Group #16 Warszawa - Michał Krajewski
Elitmind @  Azure User Group #16 Warszawa - Michał Krajewski Elitmind @  Azure User Group #16 Warszawa - Michał Krajewski
Elitmind @ Azure User Group #16 Warszawa - Michał Krajewski Elitmind
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierciDivante
 
Wprowadzenie do Cloud OS
Wprowadzenie do Cloud OSWprowadzenie do Cloud OS
Wprowadzenie do Cloud OSLukasz Kaluzny
 

Similar to Docker reverse proxy z użyciem Traefik (20)

Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
 
Wprowadzenie do Microsoft Azure
Wprowadzenie do Microsoft AzureWprowadzenie do Microsoft Azure
Wprowadzenie do Microsoft Azure
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...
infraxstructure: Piotr Jabłoński "SDN w praktyce. Znacząca poprawa bezpieczeń...
 
Delphi. Techniki bazodanowe i internetowe
Delphi. Techniki bazodanowe i internetoweDelphi. Techniki bazodanowe i internetowe
Delphi. Techniki bazodanowe i internetowe
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
[CareerCon] Wirtualizacja (PL)
[CareerCon] Wirtualizacja (PL)[CareerCon] Wirtualizacja (PL)
[CareerCon] Wirtualizacja (PL)
 
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
Laravel Poznań Meetup #3 - Uruchomienie i praca z Laravel w wirtualnym konten...
 
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'aUruchomienie i praca z laravel w wirtualnym kontenerze docker'a
Uruchomienie i praca z laravel w wirtualnym kontenerze docker'a
 
Rozproszona i asynchroniczna architektura - case study - Spread it
Rozproszona i asynchroniczna architektura - case study - Spread itRozproszona i asynchroniczna architektura - case study - Spread it
Rozproszona i asynchroniczna architektura - case study - Spread it
 
Citrix AppDisks
Citrix AppDisksCitrix AppDisks
Citrix AppDisks
 
Citrix AppDisks
Citrix AppDisksCitrix AppDisks
Citrix AppDisks
 
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
 
Elitmind @ Azure User Group #16 Warszawa - Michał Krajewski
Elitmind @  Azure User Group #16 Warszawa - Michał Krajewski Elitmind @  Azure User Group #16 Warszawa - Michał Krajewski
Elitmind @ Azure User Group #16 Warszawa - Michał Krajewski
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
 
Wprowadzenie do Cloud OS
Wprowadzenie do Cloud OSWprowadzenie do Cloud OS
Wprowadzenie do Cloud OS
 

More from Michał Kurzeja

Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023Michał Kurzeja
 
Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023Michał Kurzeja
 
Event-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdfEvent-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdfMichał Kurzeja
 
Rozszerzalność aplikacji Symfony
Rozszerzalność aplikacji SymfonyRozszerzalność aplikacji Symfony
Rozszerzalność aplikacji SymfonyMichał Kurzeja
 
Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019Michał Kurzeja
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Michał Kurzeja
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Michał Kurzeja
 
Dr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyceDr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyceMichał Kurzeja
 
Symfony2 - garść porad
Symfony2 - garść poradSymfony2 - garść porad
Symfony2 - garść poradMichał Kurzeja
 

More from Michał Kurzeja (12)

Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023Kolejkowanie w systemach multi-tenant - PHPCon 2023
Kolejkowanie w systemach multi-tenant - PHPCon 2023
 
Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023Rozszerzalność Symfony - PHPCon 2023
Rozszerzalność Symfony - PHPCon 2023
 
Event-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdfEvent-driven architecture, the easy way.pdf
Event-driven architecture, the easy way.pdf
 
Rozszerzalność aplikacji Symfony
Rozszerzalność aplikacji SymfonyRozszerzalność aplikacji Symfony
Rozszerzalność aplikacji Symfony
 
Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019Symfony messenger - PHPers Summit 2019
Symfony messenger - PHPers Summit 2019
 
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Kubernetes - 0 do 1 - 4Developers Warszawa 2019
Kubernetes - 0 do 1 - 4Developers Warszawa 2019
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
 
Dr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyceDr Strangler and Mr Hype - Strangler pattern w praktyce
Dr Strangler and Mr Hype - Strangler pattern w praktyce
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
Symfony2 - garść porad
Symfony2 - garść poradSymfony2 - garść porad
Symfony2 - garść porad
 

Docker reverse proxy z użyciem Traefik