2021-06-21 javascript + reverse proxy (plomberie du web) + résolveur DNS Bortzmeyer

How to upload and process a JSON file with vanilla JS

This morning, a student of mine asked me how to use JavaScript to import a JSON file and do something with the data in it. I thought I’d write an article about it, because it’s a really cool browser feature!

How to upload and process an image file with vanilla JS

Ouvrir vos services vers Internet avec Nginx Proxy Manager ou Synology DSM

On vous montre sur ce blog tout un tas de services à héberger chez vous ou sur un serveur dans le cloud, et vous pouvez y accéder quand vous êtes sur votre réseau local.

Mais comment faire pour les rendre disponibles quand vous êtes en déplacement ou n’y êtes simplement pas connectés ?

C’est là qu’intervient un proxy inversé (appelé reverse proxy), qui a pour rôle de servir d’intermédiaire entre Internet et un serveur d’application interne et les services hébergés.

En plus de mettre à disposition vos applications sur Internet, un reverse proxy peut apporter une sécurité accrue (avec chiffrement du trafic, authentification, …) ou améliorer les performances (mise en cache, répartition de charge, compression, …).

Schématiquement, un flux venant de l’extérieur suivra le process suivant:

  • Depuis un navigateur, vous saisissez une URL (un nom de domaine), qui est configurée auprès de votre fournisseur de nom de domaine pour pointer vers l’adresse IP publique de votre box internet (ou l’IP du serveur dans le cloud).

  • Une règle redirige les connexions entrantes du routeur vers le reverse proxy.

  • Des règles définies dans le reverse proxy vont rediriger le trafic pour un nom de domaine vers un service en particulier.

../../../_images/shema.PNG

Nous allons voir ensemble comment configurer un reverse proxy, en premier lieu celui intégré dans DSM, le système d’exploitation de Synology, puis Nginx Proxy Manager, une version graphique et simplifiée de NGINX.

La politique du serveur DoH doh.bortzmeyer.fr et ce qu’il faut savoir

Les protocoles DoH (DNS sur HTTPS), normalisé dans le RFC 8484, et DoT (DNS sur TLS), normalisé dans le RFC 7858, permettent d’avoir un canal sécurisé (confidentialité et intégrité) avec un résolveur DNS qu’on choisit.

DoH est mis en œuvre dans plusieurs clients comme Mozilla Firefox.

Ce texte n’est pas un mode d’emploi (qui dépend du client) mais une description de la politique suivie. La sécurisation du canal (par la cryptographie) vous protège contre un tiers mais évidemment pas contre le gérant du résolveur DoH ou DoT.

C’est pour cela qu’il faut évaluer le résolveur DoH qu’on utilise, juger de la confiance à lui accorder, à la fois sur la base de ses déclarations, et sur la base d’une évaluation du respect effectif de ces déclarations.

Cette politique suit à peu près les principes du RFC 8932.