Blog

Fonctionnalités avancées de routeur

Chargement...

3 min de lecture

Fonctionnalités avancées de routeur

Forcer HTTPS, sessions persistantes, journaux de routeur, redirection de domaine canonique, pages de maintenance et d'erreur personnalisées sont généralement disponibles.

""

La force du HTTPS, des sessions persistantes, des journaux de routage, la redirection de domaine canonique, des pages de maintenance et d'erreur personnalisées sont toutes généralement disponibles.

Il y a un an, nous avons dévoilé notre nouveau routeur HTTP avancé basé sur OpenResty. Quelques mois plus tard, le support de HTTP/2 a été ajouté à la plateforme grâce à l'implémentation nginx éprouvée. Aujourd'hui, nous annonçons une série de fonctionnalités intéressantes qui aideront les développeurs au quotidien sur la plateforme.

Force du HTTPS

Chez Scalingo, notre mission est d'aider les développeurs à se concentrer sur leurs projets (leur vrai travail à valeur ajoutée), et non sur la gestion de l'infrastructure. Parce que nous imposons les 12 facteurs, notre objectif est aussi de les aider à écrire des applications préparées pour le cloud, non dépendantes de la plateforme de Scalingo. En attendant, faciliter et accélérer les processus des développeurs est notre principal objectif, donc des choix doivent être faits.



Application Router Settings on Scalingo's dashboard



Une des fonctionnalités qui peuvent être gérées (et qui devraient être gérées) au niveau du code de l'application pour éviter le verrouillage, est la redirection HTTPS, c'est-à-dire rediriger une requête de HTTP vers HTTPS. Tous les langages et cadres ont quelque chose d’intégrés pour y parvenir.

Certains de nos clients préfèrent que leur reverse-proxy (ici la plateforme) gère cela pour eux. C'est pourquoi nous dévoilons aujourd'hui le paramètre d'application Force du HTTPS. En un clic dans le tableau de bord (ou un appel API), vous pouvez rediriger tout le trafic entrant de HTTP vers HTTPS. Et grâce à notre magique intégration Let's Encrypt, vous pouvez toujours être sûr que votre application est accessible de manière sécurisée.

Allez sur votre tableau de bord dans "Paramètres > Paramètres du Routeur" pour découvrir cette nouvelle fonctionnalité.

Bien que cette fonctionnalité soit assez facile à activer, nous recommandons toujours de gérer la redirection HTTPS au niveau de votre application.

En savoir plus sur la Force du HTTPS <%= fa_icon "material-open-in-new" %>

Redirection de Domaine Canonique

Lorsque vous avez plusieurs domaines ciblant la même application, vous souhaitez peut-être rediriger automatiquement tous les domaines vers le domaine "principal". C'est ce que nous appelons la redirection de domaine canonique.

Comme la redirection HTTPS, il est préférable d'écrire du code d'application pour gérer la redirection de domaine. Mais pour ceux qui veulent une solution facile à ce problème, c'est maintenant à un clic de votre tableau de bord web.

En savoir plus sur le Domaine Canonique <%= fa_icon "material-open-in-new" %>

Sessions Persistantes

Contrairement à la redirection HTTPS ou à la gestion de domaine canonique qui peuvent être gérées au niveau de l'application, les sessions persistantes, alias l'affinité des sessions, sont une fonctionnalité qui ne peut être gérée que par la couche de routage de la plateforme.

Lorsqu'une requête HTTP arrive sur la plateforme, elle passe d'abord par notre couche de routage. C'est cette couche qui transmet la requête au conteneur d'application approprié. Par défaut, ce routage des requêtes HTTP est effectué à l'aide de l'algorithme Round Robin (l'"acheminement intelligent" s'est avéré être inadapté). Par exemple, si une application dispose de 3 conteneurs web, chaque requête entrante sera envoyée séquentiellement à web1, web2, web3, web1, web2, web3, etc.

Pour certains types d'applications, envoyer chaque requête des utilisateurs finaux vers le même conteneur est requis. C'est exactement ce que signifient les sessions persistantes. Les développeurs de MeteorJS sont bien conscients de cette fonctionnalité car elle a un énorme impact sur les performances de Meteor. Les applications Socket.IO peuvent également bénéficier de cette fonctionnalité.

Bien que les sessions persistantes aient été supportées pour les applications MeteorJS sur Scalingo pendant un certain temps, la fonctionnalité est désormais accessible via l'API et toute application déployée sur la plateforme peut avoir les sessions persistantes activées.

Techniquement, nos routeurs ajouteront un cookie sc-sticky-session dans la réponse de la requête. Le contenu du cookie fournit des indications de routage pour nos reverse proxies. Lorsque le client le renvoie (comme le font la plupart des navigateurs), le même conteneur sera ciblé.

En savoir plus sur les Sessions Persistantes <%= fa_icon "material-open-in-new" %>

Journaux de Routage

L'agrégation des journaux d'application est une partie intégrante de la plateforme depuis le premier jour. Vous pouvez maintenant activer aussi les journaux de routage, qui sont automatiquement et instantanément ajoutés aux journaux agrégés de l'application.

Cela peut être utile pour des fins de débogage, surtout lorsque vos utilisateurs signalent des délais d'attente, mais que vous ne voyez rien dans les journaux de votre application.

Attention, notre couche de routage enregistrera toutes les requêtes entrantes, ce qui pourrait signifier un ÉNORME nombre de lignes de journal.

Voici à quoi cela ressemblera dans le tableau de bord web :



Router logs Scalingo Dashboard



Pages de Maintenance et d'Erreur Personnalisées

Si vous avez déjà rencontré ce genre de pages sur Scalingo, vous serez heureux de savoir qu'il est maintenant possible d'afficher votre propre page pour chaque type d'erreur que notre routeur pourrait générer.



Scalingo default application error page



C'est aussi simple que de spécifier une variable d'environnement dans la configuration de votre application.

De la même manière, vous pouvez afficher votre propre page de maintenance.

En savoir plus sur les Pages de Maintenance et d'Erreur Personnalisées <%= fa_icon "material-open-in-new" %>

Yann Klis, Scalingo

Yann Klis

Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.