Les instructions ci-dessous ont été personnalisées pour votre projet "".
Personnalisez ces instructions pour le projet
Recevoir des requêtes
L'agent redirection.io inclut un reverse proxy intégré, qui vous permet de transmettre les requêtes entrantes vers un ou plusieurs serveurs backend.
Le reverse proxy supporte les protocoles http1, http2 et http3, et il peut être configuré pour écouter les requêtes entrantes sur n'importe quel port à l'aide de la directive listen.
Par exemple, la configuration suivante permettra à l'agent d'écouter les requêtes HTTP entrantes sur le port 80 :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
Écoute des requêtes HTTPS
Le reverse proxy supporte la terminaison SSL, ce qui signifie qu'il peut gérer les requêtes HTTPS et les transmettre au backend en utilisant HTTP(s). Ceci est utile si vous souhaitez sécuriser votre site web avec des certificats SSL, sans avoir à configurer SSL manuellement sur vos serveurs backend.
L'écoute des requêtes https peut être activée en configurant la directive "listen" avec le protocole tls. Par exemple :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tls://0.0.0.0:443'
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
Il est habituel de vouloir traiter à la fois des requêtes http et https. Dans ce cas, vous pouvez configurer deux listeners, un pour le protocole http et un pour le protocole tls :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
- 'tls://0.0.0.0:443'
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
L'agent supporte également HTTP3, souvent appelé QUIC. Pour activer le support de HTTP3, vous pouvez également configurer un listener pour le protocole quic :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
- 'tls://0.0.0.0:443'
- 'quic://0.0.0.0:443'
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
Gestion des certificats SSL
L'agent supporte deux modes pour la configuration SSL :
- utiliser Let's Encrypt (ou tout autre fournisseur ACME) pour générer et renouveler automatiquement les certificats SSL pour vos domaines
- utiliser vos propres certificats SSL, pour lesquels vous pouvez spécifier les chemins vers les fichiers de certificat et de clé privée dans la configuration de l'agent
Certificats ACME
Le mode "letsencrypt" est très pratique si vous ne voulez pas vous soucier de la gestion de vos certificats SSL. L'agent générera et renouvellera automatiquement les certificats pour vous, tant que vos domaines sont correctement configurés pour pointer vers l'agent - en coulisses, redirection.io utilise le challenge HTTP-01.
Si vous utilisez uniquement le mode "letsencrypt", vous devrez attendre que les certificats soient générés avant que votre site web ne soit accessible via HTTPS. Cela prend généralement quelques minutes, mais peut prendre plus de temps s'il y a des problèmes avec la configuration du domaine ou si vous avez un grand nombre de domaines. Une fois les certificats générés, l'agent passera automatiquement à leur utilisation pour les requêtes HTTPS, et il les stockera dans le stockage configuré sous la clé de configuration instance.persist, pour une utilisation future.
Voici un exemple de configuration pour le mode "letsencrypt" (acme) :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
- 'tls://0.0.0.0:443'
certificate:
acme:
contacts:
- myemail@example.com
directory_url: 'https://acme-v02.api.letsencrypt.org/directory'
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
L'option directory_url vous permet de spécifier quel fournisseur ACME vous souhaitez utiliser. Par exemple, vous pouvez utiliser les URL de production ou de staging de Let's Encrypt :
- Production : https://acme-v02.api.letsencrypt.org/directory
- Staging : https://acme-staging-v02.api.letsencrypt.org/directory
Certificats sous forme de fichiers locaux
Le mode "file" est utile si vous avez déjà vos certificats SSL prêts, ou si vous souhaitez utiliser des certificats auto-signés à des fins de test. Dans ce cas, vous pouvez spécifier les chemins vers les fichiers de certificat et de clé privée dans la configuration de l'agent. Voici un exemple de configuration pour le mode "file" :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
- 'tls://0.0.0.0:443'
certificate:
file:
key: /path/to/cert.key
certificates:
- /path/to/chain.pem
- /path/to/cert.pem
forward:
address: 'backend:8080'
agent:
project_key: my-project-key
Certificats ACME et fichiers locaux en même temps
Les deux modes ("acme" and "file") peuvent être combinés - dans ce cas, l'agent utilisera les certificats du mode "file" au démarrage, et passera automatiquement aux certificats du mode "acme" une fois qu'ils seront générés. Cela vous permet d'avoir un support SSL dès le début, même si vous n'avez pas encore vos certificats prêts :
instance:
name: 'Example instance'
reverse_proxy:
listen:
- 'tcp://0.0.0.0:80'
- 'tls://0.0.0.0:443'
certificate:
acme:
contacts:
- myemail@example.com
directory_url: 'https://acme-v02.api.letsencrypt.org/directory'
file:
key: /path/to/cert.key
certificates:
- /path/to/chain.pem
- /path/to/cert.pem
forward:
address: 'backend:8080'
agent:
project_key: my-project-key