Tauri System administrator documentation Documentation administrateur système

Serving websitesServir des sites web

Tauri provides two web servers: http (plain) and https (TLS 1.3). Both serve static files and PHP pages, route many domains through virtual hosts, and run as long-lived daemons. This page covers where site files go, how requests are handled, and how to start the servers — including at boot. Tauri fournit deux serveurs web : http (clair) et https (TLS 1.3). Tous deux servent des fichiers statiques et des pages PHP, routent de nombreux domaines par des hôtes virtuels, et tournent en démons durables. Cette page couvre l'emplacement des fichiers d'un site, le traitement des requêtes et le lancement des serveurs — y compris au démarrage.

1. Starting a serverDémarrer un serveur

Both servers are root-only and detach by themselves: they fork into the background and give the shell back at once. Each connection is then handled by a process that drops its privileges. Les deux serveurs sont réservés à root et se détachent seuls : ils passent en arrière-plan et rendent la main aussitôt. Chaque connexion est ensuite traitée par un processus qui abandonne ses privilèges.

https 443         # TLS on 443, default web root# TLS sur 443, racine web par défaut
http 80 redirect  # plain on 80, everything redirected to HTTPS# clair sur 80, tout redirigé vers HTTPS
FormFormeMeaningSignification
https [PORT] [WEBROOT] [strict-sni]TLS 1.3 server, port 443 by default, 8 pre-forked workers.Serveur TLS 1.3, port 443 par défaut, 8 workers pré-forkés.
http [PORT] [WEBROOT] [redirect]Plain HTTP server, port 80 by default, one process per connection.Serveur HTTP clair, port 80 par défaut, un processus par connexion.

Before accepting a connection, both apply a per-source-IP rate limit (burst of 50, then about 15 new connections per second — a browser using keep-alive never reaches it), cap keep-alive at 100 requests per connection, and drop connections idle for 10 s (anti-slowloris). Avant d'accepter une connexion, tous deux appliquent une limite de débit par adresse source (rafale de 50, puis environ 15 nouvelles connexions par seconde — un navigateur en keep-alive ne l'atteint jamais), plafonnent le keep-alive à 100 requêtes par connexion, et coupent les connexions inactives depuis 10 s (anti-slowloris).

2. Where files go — the web rootOù placer les fichiers — la racine web

Without a web-root argument, a server serves c:/user/root/www/<port>: c:/user/root/www/443 for HTTPS, c:/user/root/www/80 for HTTP. The request path is appended to the root: GET /css/site.css opens c:/user/root/www/443/css/site.css. Any absolute directory can be served instead: Sans argument de racine, un serveur sert c:/user/root/www/<port> : c:/user/root/www/443 en HTTPS, c:/user/root/www/80 en HTTP. Le chemin de la requête est ajouté à la racine : GET /css/site.css ouvre c:/user/root/www/443/css/site.css. Tout répertoire absolu peut être servi à la place :

https 443 c:/user/root/www/monsite

Hosting accounts each have their own docroot, c:/user/<compte>/www/, reached through their virtual host (section 6); they upload to it over FTPS. Les comptes d'hébergement ont chacun leur docroot, c:/user/<compte>/www/, atteint par leur hôte virtuel (section 6) ; ils y déposent par FTPS.

3. Static filesFichiers statiques

4. .htaccess filesFichiers .htaccess

Applications ship .htaccess files to protect their private folders and to route requests to a front controller. The servers read them, from the web root down to the requested file's folder, and apply the useful subset: Les applications livrent des fichiers .htaccess pour protéger leurs dossiers privés et router les requêtes vers un contrôleur frontal. Les serveurs les lisent, de la racine web jusqu'au dossier du fichier demandé, et en appliquent le sous-ensemble utile :

5. Dynamic pages (PHP)Pages dynamiques (PHP)

A request that resolves to a .php file is executed by the PHP engine — nothing to enable. The script receives the query string, POST body, cookies, $_SERVER and $_FILES; its output, with the headers it sets, is sent back and never cached. On a virtual host that belongs to a hosting account, PHP runs under that account's identity, confined to its home. See PHP & applications. Une requête qui aboutit à un fichier .php est exécutée par le moteur PHP — rien à activer. Le script reçoit la query string, le corps POST, les cookies, $_SERVER et $_FILES ; sa sortie, avec les en-têtes qu'il pose, est renvoyée et jamais mise en cache. Sur un hôte virtuel qui appartient à un compte d'hébergement, le PHP tourne sous l'identité de ce compte, confiné à son répertoire. Voir PHP & applications.

6. Several sites — virtual hostsPlusieurs sites — hôtes virtuels

vhostadm (root) maps each Host: to its own web root, in the @:/vhosts/ table. Hosting accounts get theirs from compteadm; add your own by hand: vhostadm (root) associe chaque Host: à sa propre racine, dans la table @:/vhosts/. Les comptes d'hébergement reçoivent la leur de compteadm ; ajoutez les vôtres à la main :

vhostadm list
vhostadm add blog.example.com c:/user/root/www/blog
vhostadm add shop.example.com c:/user/alice/www -u alice  # PHP runs as alice# le PHP tourne en alice
vhostadm del blog.example.com
vhostadm reload                                           # apply the changes, live# appliquer les changements, à chaud
Live reloadRechargement à chaud

add and del only change the table. vhostadm reload makes the running servers re-read it — virtual hosts and their certificates — without restarting and without interrupting the other sites. compteadm does it by itself. add et del ne changent que la table. vhostadm reload la fait relire aux serveurs en marche — hôtes virtuels et leurs certificats — sans redémarrage ni coupure des autres sites. compteadm le fait de lui-même.

7. Per-domain certificates (SNI)Certificats par domaine (SNI)

During the TLS handshake the server picks the certificate matching the client's SNI name; without a match (or without SNI) it uses the default certificate. Attach a certificate to a domain with acme deploy-vhost (see TLS), or give existing files to vhostadm add: Pendant la négociation TLS, le serveur choisit le certificat correspondant au nom SNI du client ; sans correspondance (ou sans SNI), il prend le certificat par défaut. Attachez un certificat à un domaine avec acme deploy-vhost (voir TLS), ou donnez des fichiers existants à vhostadm add :

vhostadm add shop.example.com c:/user/root/www/shop \
    c:/user/root/tls/shop.key.bin c:/user/root/tls/shop.cert.der c:/user/root/tls/shop.chain.der

Strict SNI: start the server with https 443 strict-sni to answer 421 Misdirected Request when the request's Host: differs from the negotiated SNI name. SNI strict : lancez le serveur avec https 443 strict-sni pour répondre 421 Misdirected Request quand le Host: de la requête diffère du nom SNI négocié.

8. HTTP → HTTPS redirect & HSTSRedirection HTTP → HTTPS & HSTS

http 80 redirect answers every request with a 301 to https://<Host><path>, except the ACME challenges under /.well-known/acme-challenge/, served in clear so that certificate issuance works. HSTS is sent by the HTTPS server itself, on every TLS response. http 80 redirect répond à chaque requête par un 301 vers https://<Host><chemin>, sauf les challenges ACME sous /.well-known/acme-challenge/, servis en clair pour que l'émission de certificats fonctionne. Le HSTS est envoyé par le serveur HTTPS lui-même, sur chaque réponse TLS.

9. Starting the servers at bootLancer les serveurs au démarrage

Register the servers with serviceadm so that they start after every reboot. Use the never policy: the servers detach by themselves, so never means “start once at boot” — always would start duplicates. Enregistrez les serveurs auprès de serviceadm pour qu'ils démarrent après chaque redémarrage. Utilisez la policy never : les serveurs se détachent seuls, never signifie donc « lancer une fois au démarrage » — always créerait des doublons.

serviceadm add web-https root never https 443
serviceadm add web-http  root never http 80 redirect

Effective at the next reboot. See Networking for how serviceadm works. Effet au prochain redémarrage. Voir Réseau pour le fonctionnement de serviceadm.

NextSuite

Next: TLS & certificates — obtaining and renewing the certificates this page assumes. Ensuite : TLS & certificats — obtenir et renouveler les certificats que cette page suppose en place.