GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e utilizzare Traefik come proxy inverso con Docker su CentOS 8

Traefik è un proxy inverso HTTP open source e un sistema di bilanciamento del carico che ti aiuta a distribuire facilmente i microservizi. Puoi integrarlo facilmente con i componenti della tua infrastruttura, inclusi Docker, Kubernetes, Docker Swarm, Rancher, AWS e molti altri. Se desideri eseguire più applicazioni sullo stesso host Docker, puoi utilizzare Traefik come proxy inverso per esporre le porte 80 e 443 al resto del mondo.

In questo tutorial, ti mostreremo come installare e configurare Traefik come proxy inverso su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Un nome di dominio valido puntato all'IP del tuo server.
  • Una password di root è configurata sul server.

Installa Docker e Docker Compose

Innanzitutto, dovrai installare l'ultima versione di Docker e Docker Compose nel tuo sistema. Per impostazione predefinita, Docker non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai aggiungere il repository Docker CE nel tuo sistema. Puoi aggiungerlo con il seguente comando:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Una volta creato il repository, installa Docker CE con il seguente comando:

dnf install docker-ce --nobest -y

Una volta installato Docker, avvia il servizio Docker e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl start docker
systemctl enable docker

Per installare Docker Compose, dovrai installare Curl e scaricare il binario Docker Compose nel tuo sistema. Puoi farlo con il seguente comando:

dnf install curl
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Crea rete Docker

Successivamente, dovrai creare una nuova rete Docker per eseguire il contenitore traefik. Puoi crearlo con il nome "web" eseguendo il seguente comando:

docker network create web

Successivamente, verifica la tua rete con il seguente comando:

docker network ls

Dovresti ottenere il seguente output:

NETWORK ID          NAME                DRIVER              SCOPE
76a9475e5ab0        bridge              bridge              local
2a3d79f64747        host                host                local
4c9123229eaa        none                null                local
0b6e010b43d0        web                 bridge              local

Installa e configura Traefik Proxy

Prima di iniziare, dovrai installare httpd-tools per generare la password crittografata. Puoi installare questo strumento con il seguente comando:

dnf install httpd-tools -y

Una volta installata, genera la password crittografata con il seguente comando:

htpasswd -nb admin my_password

Dovresti ottenere il seguente output:

admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0

Quindi, crea un nuovo file di configurazione di Traefik con il seguente comando:

nano traefik.toml

Aggiungi le seguenti righe, tra cui il tuo nome di dominio valido, la tua password protetta e la porta:

defaultEntryPoints = ["http", "https"]

[entryPoints]
  [entryPoints.dashboard]
    address = ":8080"
    [entryPoints.dashboard.auth]
      [entryPoints.dashboard.auth.basic]
        users = ["admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0"]
  [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
        entryPoint = "https"
  [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]

[api]
entrypoint="dashboard"

[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

[docker]
domain = "traefik.linuxbuz.com"
watch = true
network = "web"

Salva e chiudi il file quando hai finito. Quindi, crea un file vuoto per archiviare le tue informazioni Let's Encrypt.

touch acme.json

Quindi, dai il permesso appropriato a questo file con il seguente comando:

chmod 600 acme.json

Crea un file di composizione Docker

Successivamente, dovrai creare un nuovo file docker-compose.yml e definire dominio, porta, rete e volume.

Puoi crearlo con il seguente comando:

nano docker-compose.yml

Aggiungi le seguenti righe:

version: '3'

services:

  traefik:
    image: traefik:1.7.21-alpine
    command: --docker --docker.domain=linuxbuz.com
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.linuxbuz.com"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
   web:
    external: true

Salva e chiudi il file quando hai finito.

Crea un container Docker Traefik

A questo punto, il file di configurazione di Traefik e Docker Compose è pronto. Ora, costruisci il contenitore Traefik con il seguente comando:

docker-compose up -d

Dovresti ottenere il seguente output:

Unable to find image 'traefik:1.7.21-alpine' locally
1.7.21-alpine: Pulling from library/traefik
c9b1b535fdd9: Pull complete 
c141e361698e: Pull complete 
2573c02b6f16: Pull complete 
1619fb3841d1: Pull complete 
Digest: sha256:0e4ac8ae724603898620dbd5eb9cda7ec05f405d25476eb0d32b716b490ba079
Status: Downloaded newer image for traefik:1.7.21-alpine
27e735357bb3b7d2d253ff78ddf6e78896851420eff399e8ade23affc7ff0bf7

Quindi, verifica il contenitore in esecuzione con il seguente comando:

docker ps

Dovresti ottenere il seguente output:

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                      NAMES
7604696507a5        traefik:1.7.21-alpine   "/entrypoint.sh --do…"   6 seconds ago       Up 4 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   traefik

Accedi all'interfaccia Web di Traefik

Ora apri il tuo browser web e accedi all'interfaccia web di Traefik utilizzando l'URL https://traefik.linuxbuz.com. Ti verrà chiesto di fornire nome utente e password:

Fornisci il nome utente come amministratore e password che hai generato in precedenza e fai clic su Firma dentro pulsante. Dovresti vedere la dashboard di Traefik nella schermata seguente:

Fai clic su SALUTE scheda. Dovresti vedere lo stato di salute del container Traefik nella schermata seguente:

Conclusione

Congratulazioni! hai installato correttamente il proxy Traefik su CentOS 8. Per ulteriori informazioni, visita la documentazione di Traefik.


Cent OS
  1. Come installare e utilizzare Docker Compose su CentOS

  2. Come installare Odoo 11 su CentOS 7 con Nginx come proxy inverso

  3. Come installare Odoo 10 su CentOS 7 con Nginx come proxy inverso

  4. Come installare Flectra su CentOS 8 con Nginx come proxy inverso

  5. Come installare Odoo 14 su CentOS 8 con Nginx come proxy inverso

Come installare ReactJS con proxy Nginx su CentOS 8

Come installare e utilizzare Nginx Proxy Manager con Docker

Come installare e utilizzare Docker Compose su CentOS 8

Come installare e utilizzare TermRecord su CentOS 8

Come installare e utilizzare Traceroute su CentOS 7

Come installare e utilizzare Docker su CentOS 8