~/tools / Faire tourner un LLM local sur votre serveur / Ollama nginx Config Generator
Ollama nginx Config Generator — Créez une config nginx pour Ollama : HTTPS, authentification basique, liste autorisée, streaming
Créez un bloc server nginx qui place Ollama derrière un proxy : HTTPS avec votre certificat, une redirection depuis le port 80, un mot de passe avec authentification basique, une liste d'adresses autorisées et des réglages pour que les réponses en streaming arrivent au fur et à mesure qu'elles sont écrites. Il part de l'exemple de proxy de la FAQ officielle d'Ollama et n'utilise que des directives de la documentation de nginx. Rien ne quitte votre navigateur.
Configuration nginx
Enregistrez-la sous /etc/nginx/conf.d/ollama.conf. La combinaison de directives est de nous, donc exécutez toujours nginx -t avant de recharger.
server {
listen 80;
server_name ollama.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ollama.example.com;
ssl_certificate /etc/ssl/ollama.crt;
ssl_certificate_key /etc/ssl/ollama.key;
auth_basic "ollama";
auth_basic_user_file /etc/nginx/ollama.htpasswd;
location / {
proxy_pass http://localhost:11434;
proxy_set_header Host localhost:11434;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 300s;
}
}
Commandes
htpasswd demande le mot de passe. Son option -c crée un nouveau fichier et un fichier existant est réécrit ; omettez-la donc lorsque vous ajoutez un second utilisateur. Sur Ubuntu, htpasswd se trouve dans le paquet apache2-utils.
sudo htpasswd -c /etc/nginx/ollama.htpasswd alice sudo nginx -t sudo nginx -s reload
Directives et valeurs par défaut telles qu'indiquées dans la documentation de nginx et l'exemple de proxy de la FAQ d'Ollama, vérifiées le 2026-11-03. FAQ d'Ollama : serveur proxy / nginx: ngx_http_proxy_module
Tout se passe dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part.
Par défaut, Ollama n'écoute que sur le serveur lui-même, et la FAQ d'Ollama ne décrit aucune authentification pour lui. Lorsqu'une autre machine doit y accéder, la FAQ renvoie à un serveur proxy comme nginx, avec un exemple qui transmet les requêtes à http://localhost:11434 et fixe l'en-tête Host à localhost:11434. Cet outil prolonge cet exemple avec des directives de la documentation de nginx : listen 443 ssl avec un certificat et une clé, un serveur sur le port 80 qui redirige vers HTTPS, auth_basic avec un fichier de mots de passe, allow et deny pour les adresses, client_max_body_size, proxy_http_version 1.1, proxy_buffering off pour le streaming et proxy_read_timeout pour une première réponse lente. La combinaison est de nous, et non un exemple unique tiré des documents, nous l'avons donc testée : la sortie a passé nginx -t sur l'image officielle de nginx 1.29.8 et sur nginx 1.24.0 d'Ubuntu 24.04, et, via nginx 1.29.8, nous avons atteint Ollama 0.40.11 uniquement avec le bon mot de passe, vu une réponse en streaming arriver en 81 morceaux et obtenu 403 depuis une adresse hors de la liste autorisée.
Le cœur de cet outil est open source, sous licence MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-nginx.ts
Cas d'usage
- Accéder à Ollama sur un VPS depuis votre portable ou un autre serveur, avec mot de passe et HTTPS
- Ne laisser que l'adresse de votre bureau ou de votre domicile atteindre Ollama, en plus du mot de passe
- Corriger des réponses qui arrivent d'un seul coup, ou des connexions qui se ferment pendant qu'un gros modèle est encore en cours de chargement
Utilisation
- Saisissez le nom de domaine et, si Ollama n'est pas sur le même serveur au port 11434, l'adresse vers laquelle nginx doit transmettre. Activez HTTPS et saisissez les chemins de votre certificat et de votre clé privée.
- Choisissez comment limiter l'accès : un mot de passe, une liste d'adresses autorisées, ou les deux. Avec les deux, une requête doit passer les deux contrôles, car la directive satisfy de nginx vaut all par défaut. Laissez le streaming activé et augmentez le délai si votre modèle met du temps à se charger.
- Enregistrez la configuration sous /etc/nginx/conf.d/ollama.conf, créez le fichier de mots de passe avec la commande htpasswd affichée, puis exécutez nginx -t et rechargez nginx.
FAQ
Pourquoi l'en-tête Host est-il toujours localhost:11434 ?
C'est ce que fixe l'exemple de la FAQ d'Ollama. Ollama refuse les requêtes dont l'en-tête Host désigne un hôte qu'il ne connaît pas : lors de notre test d'Ollama 0.40.11, Host: ollama.example.com a obtenu 403 alors que localhost:11434 et même localhost:9999 ont obtenu 200. Envoyer localhost:11434 fait que la requête est acceptée quel que soit le nom utilisé par le visiteur.
Pourquoi désactiver proxy_buffering ?
Ollama diffuse une réponse morceau par morceau. La documentation de nginx indique que lorsque la mise en tampon est désactivée, la réponse est transmise au client de façon synchrone, dès qu'elle est reçue ; lorsqu'elle est activée, nginx enregistre d'abord la réponse dans des tampons. Avec elle désactivée, la réponse de notre test est arrivée en 81 morceaux en environ six secondes.
Que change proxy_read_timeout ?
La documentation de nginx indique que le délai, de 60 secondes par défaut, s'applique seulement entre deux lectures successives, et non à la réponse entière, et que la connexion est fermée si le serveur mandaté n'envoie rien dans ce délai. Notre lecture, qui ne vient pas des documents : un modèle encore en cours de chargement en mémoire peut rester silencieux plus d'une minute sur un petit serveur, donc une valeur plus élevée évite une connexion fermée.
Quel fichier nginx lit-il ?
L'image officielle de nginx comme le paquet nginx d'Ubuntu 24.04 incluent /etc/nginx/conf.d/*.conf dans le bloc http de nginx.conf, donc un fichier enregistré là est lu. D'autres installations peuvent utiliser un autre répertoire ; vérifiez les lignes include de votre nginx.conf.
Comment créer le fichier de mots de passe ?
La documentation de nginx cite l'utilitaire htpasswd d'Apache et openssl passwd, sans donner de commandes. L'outil affiche htpasswd -c avec le fichier et le nom d'utilisateur que vous avez saisis. Sur Ubuntu, htpasswd se trouve dans le paquet apache2-utils. La documentation d'Apache indique que -c crée le fichier et qu'un fichier existant est réécrit et tronqué ; omettez donc -c lorsque vous ajoutez un second utilisateur.
Quelque chose est-il envoyé à un serveur ?
Non. La configuration est composée dans votre navigateur.
Articles liés
- Surveiller la mémoire d'Ollama sur un petit VPSVoir ce qu'Ollama garde en mémoire, combien de temps et quels réglages changent cela : ollama ps, keep_alive et les limites, d'après la FAQ officielle.
- Connecter Dify à Ollama sur votre propre VPSFaites tourner Dify sur votre propre VPS avec Ollama comme modèle : installation, champs du plugin, problème d'adresse dans Docker et embeddings, d'après la documentation officielle.
- Lancer un LLM local sans PC coûteux : guide du débutant pour utiliser un VPSPas de PC puissant ? Louez un VPS et faites tourner un petit LLM local depuis votre navigateur : six étapes, de l'estimation de la mémoire à un écran de discussion protégé, avec les limites indiquées honnêtement.