Segment Route
Flux de travail

Routage proxy HTTP : du fichier de plan au résultat vérifié

03
Configuration du proxy

Configurer les routes pour un domaine

Une configuration de proxy inverse de base ne nécessite que trois décisions, et ce guide vous aide pour chacune : le nom d'hôte, le chemin et le backend. Une recherche de proxy HTTP peut concerner un proxy direct ou inverse, et ici vous planifiez et vérifiez un serveur que vous administrez vous-même. L'agent ne décide jamais pour vous quel hôte ou quel chemin est le bon. Il écrit ce que vous lui demandez, affiche chaque modification sous forme de diff et rapporte le résultat réel de chaque commande, afin que vous puissiez voir l'effet de chaque décision avant la suivante. Suivez les quatre étapes ci-dessous dans l'ordre, et considérez le plan de routage comme le document que vous et l'agent suivez de la première commande à la dernière requête.

01

Ouvrez le dossier

Lancez Segment Route et ouvrez le dossier de travail qui contient vos fichiers de configuration et de routage. Les outils de fichiers fonctionnent dans ce dossier : un dossier propre, ne contenant que les fichiers utiles pour ce domaine, garde les diffs courts et les résultats de recherche lisibles. Si vos fichiers en production se trouvent sur un serveur que vous possédez, copiez-les d'abord dans le dossier, ou choisissez l'environnement SSH pour les commandes et gardez le plan dans le dossier.

02

Rédigez le plan

Demandez à l'agent de créer routing-plan.txt avec vos routes, vos redirections et le code d'état attendu pour chacune. Le plan est en texte brut, vous pouvez le modifier, et c'est la liste avec laquelle vous comparez les résultats réels à la fin. Nommez une attente pour chaque route et chaque redirection, afin qu'aucune règle ne reste sans vérification. Gardez le fichier court et lisible.

03

Modifiez et testez

Approuvez le diff pour chaque règle, puis laissez Shell exécuter votre commande de test de configuration avant tout rechargement. En mode Ask first, l'agent fait une pause avant chaque modification, et la carte du test affiche le code de sortie réel et la sortie complète. Ne rechargez jamais avant que le test ne soit réussi, et conservez la sauvegarde du fichier précédent jusqu'à confirmation du nouveau comportement.

04

Vérifiez le résultat

Interrogez chaque adresse avec votre commande de requête, lisez le code d'état et l'en-tête Location, et comparez-les avec votre plan. Si une valeur diffère, restaurez la sauvegarde, rechargez et modifiez à nouveau une règle. Répétez jusqu'à ce que chaque attente du plan corresponde au résultat, puis conservez le plan final comme trace de ce que la configuration est censée faire.

Un plan de routage en texte brut

routing-plan.txt
# routing plan for my own domain
# one line per rule, written before any change
route 1: host app, path /api, goes to service api
route 2: host app, path /, goes to service web
route 3: host admin, path /, goes to service admin
redirect 1: old page to new page, code 301
redirect 2: www host to bare host, code 301
redirect 3: http to https, code 301
# status to expect after the change
expect 1: app path /api answers with a success code
expect 2: old page answers 301 and gives the new address
# keep the old configuration file as a backup
# end of routing plan

Chaque ligne est une règle ou une attente. Rédigé en premier, le plan vous donne quelque chose avec lequel comparer les codes d'état réels après chaque modification, et une modification qui brise une attente est facile à repérer. Les hôtes, les chemins et les services sont des exemples ; remplacez-les par les vôtres, et gardez le plan à côté de la configuration qu'il décrit. Le mot redirect avec un code suffit à l'agent pour savoir quoi écrire.

Un ordre sûr pour chaque modification de proxy HTTP

Trouvez les fichiers qui contiennent vos règles

Ce guide d'auto-hébergement avec un serveur proxy inverse devant vos services commence par trouver où résident les règles. list_dir affiche le dossier de travail, glob liste les fichiers qui ressemblent à des listes de routes, et grep les recherche pour les mots route et redirect. Le résultat est une courte liste avec des noms de fichiers et des numéros de ligne. Rien ne change encore. Choisissez le fichier qui contient les règles pour votre propre domaine, ouvrez-le avec read_file, et interrogez chaque adresse avec votre commande de requête pour noter le code d'état actuel. Examinez la liste en mode Plan only si vous voulez que l'agent propose l'ordre de travail en premier, et enregistrez les notes à côté de votre plan de routage afin que les premiers codes d'état soient enregistrés.

Modifiez une règle à la fois

Modifiez une règle à la fois, car un petit diff est facile à juger. edit_file lit le fichier, propose la nouvelle ligne et affiche un diff avec les lignes ajoutées et supprimées. Lorsqu'une question sur une règle de redirection de sous-domaine se pose, l'agent affiche la règle à côté du code qu'elle devrait retourner, et vous décidez. En mode Ask first, rien n'est enregistré jusqu'à votre acceptation. Auto-run enregistrerait immédiatement, donc utilisez-le uniquement sur les fichiers que vous pouvez restaurer. Conservez l'ancien fichier en sauvegarde, acceptez le diff, et passez à l'étape suivante. Rejetez le diff si une ligne vous surprend, et demandez une modification plus petite.

Testez avant de recharger

Un rechargement avec un fichier corrompu peut mettre hors ligne un site fonctionnel, donc testez d'abord. Shell exécute votre commande de test de configuration, et le succès est jugé par le code de sortie réel : un code de réussite signifie que le fichier a été analysé, tout autre code signifie que vous restez sur l'ancienne configuration. La carte s'étend pour afficher la sortie complète, y compris le numéro de ligne de l'erreur. Corrigez-la avec un autre petit diff. Après un test réussi, rechargez, interrogez à nouveau l'adresse et comparez les codes d'état http des anciennes et nouvelles exécutions. Examinez la sortie vous-même, car un test réussi indique seulement que la syntaxe est valide et non que la route est correcte.

Lisez les codes et revenez en arrière

Les codes d'état sont regroupés par leur premier chiffre : 2xx succès, 3xx redirection, 4xx erreur client, 5xx erreur serveur. Pour un proxy, 502 signifie une réponse invalide du backend, 503 signifie que le service est indisponible, 504 signifie que le backend a répondu trop lentement, et 404 signifie non trouvé. http_get récupère une page de votre propre service, et votre commande de requête affiche la nouvelle adresse d'une redirection. Si un code diffère de votre plan, restaurez le fichier de sauvegarde, rechargez et testez à nouveau. Ensuite, modifiez le plan ou la règle et répétez, une règle par tour. Un court plan de routage et un fichier de sauvegarde sont toute la restauration nécessaire.

Segment Route pour Windows

Planifiez votre prochaine modification de routage avec l'agent

Télécharger Segment Route ↗