Un hébergement web est une infrastructure informatique connectée en permanence à Internet dotée d'une adresse IP publique. Son rôle consiste à écouter sur les ports réseau standards (80 pour HTTP, 443 pour HTTPS), à intercepter les requêtes des navigateurs mondiaux et à délivrer instantanément des réponses fiables : fichiers statiques ou flux de données dynamiques.
Serveur physique ou virtuel (VPS Linux) alimenté 24h/24, doté de CPU, RAM, disques SSD et connectivité haut débit garantie.
Adresse IP fixe accessible mondialement, écoutant en continu sur le port 443 (HTTPS sécurisé) et le port 80 (HTTP redirection).
Logiciel d'aiguillage ultra-performant servant les fichiers statiques et relayant les requêtes dynamiques vers vos API.
Emplacement système isolé (ex: /var/www/mon-site/dist) contenant les fichiers autorisés à être consultés.
Sélectionnez un type de requête émise par un visiteur pour observer le cheminement exact à l'intérieur de l'hébergement web :
Résolution DNS vers 198.51.100.42 (IP du serveur)
Nginx lit directement le disque dans /var/www/mon-site/dist/assets/
Aucun backend sollicité (Zéro CPU Node.js consommé)
# ==============================================================================
# CONFIGURATION TYPE NGINX DE PRODUCTION (/etc/nginx/sites-available/mon-site)
# ==============================================================================
# 1. Redirection forcée de tout le trafic HTTP (port 80) vers HTTPS
server {
listen 80;
listen [::]:80;
server_name mon-site.com www.mon-site.com;
return 301 https://$host$request_uri;
}
# 2. Serveur principal sécurisé HTTPS (port 443)
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mon-site.com www.mon-site.com;
# Certificats SSL générés par Let's Encrypt Certbot
ssl_certificate /etc/letsencrypt/live/mon-site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mon-site.com/privkey.pem;
# Racine pour les fichiers frontend compilés (dist)
root /var/www/mon-site/dist;
index index.html;
# Règle clé SPA : renvoie index.html si le fichier physique n'existe pas
location / {
try_files $uri $uri/ /index.html;
}
# Reverse Proxy vers l'API Node.js exécutée sur le port 3000
location /api/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}Ports 80 & 443Un serveur est une machine exécutant des dizaines de programmes en même temps. Les ports réseau permettent de savoir à quel programme s'adresse chaque message entrant :
Nginx en Première Ligne En production, on n'expose JAMAIS directement un serveur Node.js ou Python sur le port 80/443. On place un Reverse Proxy (Nginx, Caddy ou Traefik) devant l'application. Nginx gère la décompression SSL, bloque les requêtes malveillantes, met en cache les fichiers statiques lourds (images, CSS) et redistribue la charge vers le processus Node.js en interne via proxy_pass http://127.0.0.1:3000.
Du VPS au ServerlessIl existe plusieurs niveaux d'abstraction matérielle :
| Serveur Web | Architecture | Performance Statique | Gestion HTTPS | Cas d'Usage Idéal |
|---|---|---|---|---|
| Nginx | Événementielle non-bloquante (Asynchrone) | Ultra-Rapide (Très faible conso RAM) | Certbot / Let's Encrypt semi-automatique | Standard mondial pour Reverse Proxy, SPAs et APIs Node/PHP |
| Apache | Processus / Threads par connexion | Moyenne (plus lourd en mémoire) | Certbot / Let's Encrypt manuel | Hébergements mutualisés traditionnels, CMS WordPress avec fichiers .htaccess |
| Caddy | Écrit en Go, moderne et léger | Excellente | 100% Automatique sans configuration | Petits projets modernes, certificats HTTPS sans prise de tête |