Les instructions ci-dessous ont été personnalisées pour votre projet "".
Personnalisez ces instructions pour le projet
Utiliser redirection.io avec Docker
Il est tout à fait courant d'utiliser Docker dans des environnements de développement ou de production. redirection.io peut être facilement intégré dans une infrastructure basée sur Docker, et cette page de documentation explique comment s'y prendre.
Utiliser l'agent redirection.io comme reverse proxy dans Docker
Ajoutez un nouveau service redirectionio-agent avec docker-compose :
volumes:
redirectionio-data: {}
services:
application:
# votre service applicatif
redirectionio-agent:
build: services/redirectionio-agent
ports:
- "127.0.0.1:8443:443"
- "127.0.0.1:8080:80"
volumes:
- redirectionio-data:/var/lib/redirectionio
environment:
- INSTANCE_NAME=${REDIRECTIONIO_INSTANCE_NAME}
- REDIRECTIONIO_PROJECT_KEY=${REDIRECTIONIO_PROJECT_KEY}
Définissez le service correspondant dans son Dockerfile, dans services/redirectionio-agent/Dockerfile :
FROM alpine:3.23 as alpine
WORKDIR /tmp
RUN apk add --no-cache wget ca-certificates \
&& wget https://packages.redirection.io/dist/stable/3/any/redirectionio-agent-latest_any_amd64.tar.gz \
&& tar -xzvf redirectionio-agent-latest_any_amd64.tar.gz
FROM scratch
# Binary copied from tar
COPY --from=alpine /tmp/redirection-agent/redirectionio-agent /usr/local/bin/redirectionio-agent
# Configuration, can be replaced by your own
COPY etc /etc
# Root SSL Certificates, needed as we do HTTPS requests to our service
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
# Cache storage for rules
VOLUME /var/lib/redirectionio
CMD ["/usr/local/bin/redirectionio-agent"]
Ensuite, définissez la configuration de redirection.io dans services/redirectionio-agent/etc/redirectionio/agent.yml :
instance:
name: "${INSTANCE_NAME}"
reverse_proxy:
listen:
- tcp://0.0.0.0:80
- tls://0.0.0.0:443
forward:
address: application:80
agent:
project_key: "${REDIRECTIONIO_PROJECT_KEY}"
certificate:
file:
key: "/etc/ssl/private/ssl-cert-snakeoil.key"
certificates:
- "/etc/ssl/certs/ssl-cert-snakeoil.pem"
Ce fichier utilise deux variables d'environnement (REDIRECTIONIO_PROJECT_KEY et INSTANCE_NAME) qui sont transmises par docker. Définissez les valeurs correspondantes dans un fichier .env :
REDIRECTIONIO_INSTANCE_NAME=docker dev env
REDIRECTIONIO_PROJECT_KEY=VOTRE CLE DE PROJET ICI
Projet d'exemple docker prêt à l'emploi
Comme cela a été demandé par plusieurs de nos utilisateurs, nous avons mis en place différents exemples pour montrer comment intégrer redirection.io dans diverses configurations Docker. Ce projet d'exemple est disponible sur notre compte GitHub : https://github.com/redirectionio/docker-example
Nous ne distribuons pas d'images docker pour l'agent redirection.io, car nous pensons que cela serait contre-productif. L'agent lui-même est un binaire statique unique et, compte tenu de la diversité des méthodes de construction d'images docker, nous pensons qu'il est plus simple d'utiliser ces exemples comme source d'inspiration pour votre propre contexte.
Architectures Docker disponibles
- agent-as-reverse-proxy : l'agent redirection.io, installé depuis notre dépôt, est utilisé comme reverse proxy. C'est la configuration la plus simple et la plus recommandée.
- apache-module : une configuration Apache simple, avec le module redirection.io installé depuis notre dépôt apt.
- apache-module-custom : une configuration Apache avec le module redirection.io compilé depuis les sources.
- nginx-module : une configuration nginx simple, avec le module redirection.io installé depuis notre dépôt apt.
- nginx-module-custom : une configuration nginx avec le module redirection.io compilé depuis les sources.
Utilisation
- clonez le dépôt
git clone https://github.com/redirectionio/docker-example.git cd docker-example - créez un compte et un projet sur redirection.io et récupérez votre
project keydans le manager de redirection.io (cliquez sur le bouton "Installer sur votre site web" > "Installer sur votre infrastructure"). - copiez le fichier de configuration
.env.distvers.envet collez la clé du projet dans ce fichier :REDIRECTIONIO_PROJECT_KEY=PASTE HERE YOUR REDIRECTION.IO PROJECT KEY - choisissez l'un des exemples d'architectures docker proposés dans le projet et naviguez vers le répertoire correspondant. Par exemple :
cd agent-as-reverse-proxy - construisez l'infrastructure :
docker-compose build - lancez-la :
docker-compose up -d
Exemple Kubernetes
Pour les utilisateurs de Google Kubernetes Engine (GKE), nous fournissons un exemple de projet GKE qui peut être utile pour faire fonctionner redirection.io dans votre contexte : https://github.com/redirectionio/kubernetes-example/
Essentiellement, il utilise des images construites à l'aide de l'exemple docker ci-dessus, pour le redirectionio-agent et pour nginx avec le module redirection.io activé.
Bien entendu, vous devrez apporter des modifications pour votre propre contexte, mais cela pourrait s'avérer utile en cas de difficultés.