Bonjour,
dans mon nouveau job, crée et héberge des sites pour des restaurants, plusieurs milliers. Bien évidement ces restaurants ont tous leur nom de domaine et leur cert associé (du LetsEncrypt).
Actuellement j'ai donc une conf Apache avec des milliers de fichiers de conf quasi identique (c'est notre applicatif qui sert le contenu). C'est hyper lent à l’arrêt et au démarrage, mais aussi avec des fuites mémoire d'apache.
Bref je cherche à optimiser cela. J'ai déjà par le passé utiliser haproxy avec crt-list, mais seulement sur quelques domaines/certs, pas des milliers. Et ça m'impose de garder aussi un serveur web en plus.
Avez vous fait celà avec nginx ou autre ?
Bonjour,
Actuellement j'ai donc une conf Apache avec des milliers de fichiers de conf quasi identique (c'est notre applicatif qui sert le contenu). C'est hyper lent à l’arrêt et au démarrage, mais aussi avec des fuites mémoire d'apache.
Bref je cherche à optimiser cela. J'ai déjà par le passé utiliser haproxy avec crt-list, mais seulement sur quelques domaines/certs, pas des milliers. Et ça m'impose de garder aussi un serveur web en plus.
Avez vous fait celà avec nginx ou autre ?
Je n'ai jamais utilisé, je viens de découvrir l'existence, mais ça peut être intéressant pour ton use-case: https://caddyserver.com/
Bonjour, J'utilise https://www.apsis.ch/pound.html sur le port 443 devant Apache.
On Thu, Jun 17, 2021 at 09:22:26AM +0200, Sébastien Bocahu wrote:
Bonjour,
Actuellement j'ai donc une conf Apache avec des milliers de fichiers de conf quasi identique (c'est notre applicatif qui sert le contenu). C'est hyper lent à l’arrêt et au démarrage, mais aussi avec des fuites mémoire d'apache.
Bref je cherche à optimiser cela. J'ai déjà par le passé utiliser haproxy avec crt-list, mais seulement sur quelques domaines/certs, pas des milliers. Et ça m'impose de garder aussi un serveur web en plus.
Avez vous fait celà avec nginx ou autre ?
Je n'ai jamais utilisé, je viens de découvrir l'existence, mais ça peut être intéressant pour ton use-case: https://caddyserver.com/
Liste de diffusion du FRsAG http://www.frsag.org/
Salut Thomas,
Nginx supporte bien plus de mille domaines / certs, j'ai pas testé plusieurs milliers.
Néanmoins je partirais dans l'optimisation des certs en faisant du certs multi domaine, ça limite fortement le nombre de certs à load au démarrage. Pour la partie configuration, Apache je ne sais plus (plus de 10 ans que je ne l'utilise plus) mais sous Nginx, déployée de façon automatisée la configuration ça se fait très bien et c'est pas long.
Le seul inconvénient de la solution certs multi domaine, c'est lorsqu'un de tes clients part / ne renouvelle pas son domaine / touche au NS dans ton dos / ... le renouvellement du certificat ne passera plus.
Cloudflare fait cela mais ils ont du développé tout ce qu'il faut derrière pour automatiser cela.
Dans les solutions plus modernes Caddy / Traefik sont pas mal mais je n'ai pas testé plus de quelques dizaines d'urls avec.
++
Le 17/06/2021 à 09:17, Thomas Pedoussaut a écrit :
Bonjour,
dans mon nouveau job, crée et héberge des sites pour des restaurants, plusieurs milliers. Bien évidement ces restaurants ont tous leur nom de domaine et leur cert associé (du LetsEncrypt).
Actuellement j'ai donc une conf Apache avec des milliers de fichiers de conf quasi identique (c'est notre applicatif qui sert le contenu). C'est hyper lent à l’arrêt et au démarrage, mais aussi avec des fuites mémoire d'apache.
Bref je cherche à optimiser cela. J'ai déjà par le passé utiliser haproxy avec crt-list, mais seulement sur quelques domaines/certs, pas des milliers. Et ça m'impose de garder aussi un serveur web en plus.
Avez vous fait celà avec nginx ou autre ?
Salut,
Il faut voir si tu peux splitter sur plusieurs nginx (les IPv6 ne coûtent rien) ou effectivement faire du multi domaines par certificats.
De mon côté, c'est full nginx et avec le module permettant d'avoir consul vraiment très bien intégré: https://github.com/weibocom/nginx-upsync-module
J'ai quasiment le même soucis que toi sur les certificats comme je fais du mutual TLS donc pas mal de certificats dans tous les sens et 0 soucis avec Nginx.
On Thu, Jun 17, 2021, 11:23 DUVERGIER Claude frsag.ml@claude.duvergier.fr wrote:
Je pense aussi que Nginx devrait pouvoir faire le job.
Mais j'aurais une préférence pour Træfik (https://traefik.io) à placer devant ton/tes serveurs web : il sait recharger automatiquement sa configuration (suite modification du fichier de configuration, ou d'autre service de découverte).
Par contre il ne fait que le proxy/intermédiaire (id. il ne sert pas les ressources HTTP demandées directement).
-- DUVERGIER Claude
Le 17/06/2021 à 12:10, Wallace a écrit :
Salut Thomas,
Nginx supporte bien plus de mille domaines / certs, j'ai pas testé plusieurs milliers.
Néanmoins je partirais dans l'optimisation des certs en faisant du certs multi domaine, ça limite fortement le nombre de certs à load au démarrage. Pour la partie configuration, Apache je ne sais plus (plus de 10 ans que je ne l'utilise plus) mais sous Nginx, déployée de façon automatisée la configuration ça se fait très bien et c'est pas long.
Le seul inconvénient de la solution certs multi domaine, c'est lorsqu'un de tes clients part / ne renouvelle pas son domaine / touche au NS dans ton dos / ... le renouvellement du certificat ne passera plus.
Cloudflare fait cela mais ils ont du développé tout ce qu'il faut derrière pour automatiser cela.
Dans les solutions plus modernes Caddy / Traefik sont pas mal mais je n'ai pas testé plus de quelques dizaines d'urls avec.
++ Le 17/06/2021 à 09:17, Thomas Pedoussaut a écrit :
Bonjour,
dans mon nouveau job, crée et héberge des sites pour des restaurants, plusieurs milliers. Bien évidement ces restaurants ont tous leur nom de domaine et leur cert associé (du LetsEncrypt).
Actuellement j'ai donc une conf Apache avec des milliers de fichiers de conf quasi identique (c'est notre applicatif qui sert le contenu). C'est hyper lent à l’arrêt et au démarrage, mais aussi avec des fuites mémoire d'apache.
Bref je cherche à optimiser cela. J'ai déjà par le passé utiliser haproxy avec crt-list, mais seulement sur quelques domaines/certs, pas des milliers. Et ça m'impose de garder aussi un serveur web en plus.
Avez vous fait celà avec nginx ou autre ?
Liste de diffusion du FRsAGhttp://www.frsag.org/
Liste de diffusion du FRsAG http://www.frsag.org/
On Thu, Jun 17, 2021 at 12:10:12PM +0200, Wallace wrote:
Nginx supporte bien plus de mille domaines / certs, j'ai pas testé plusieurs milliers.
72355 root 1 52 0 2941M 2926M pause 3 23.8H 0.00% nginx 18691 www 1 21 0 2941M 2927M kqread 1 0:03 1.46% nginx 18692 www 1 20 0 2941M 2927M kqread 3 0:03 1.07% nginx 18695 www 1 20 0 2941M 2927M kqread 4 0:03 0.68% nginx 18693 www 1 20 0 2941M 2927M kqread 0 0:03 0.39% nginx 18690 www 1 20 0 2941M 2927M kqread 6 0:03 0.20% nginx 18694 www 1 20 0 2941M 2927M kqread 2 0:02 0.20% nginx
avec dans la conf principale include /usr/local/etc/nginx/sites/*/*.conf;
% find . -type f -name '*.conf' |wc -l 35882
et autant de certificats.
# time nginx -t nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful nginx -t 12.15s user 3.01s system 99% cpu 15.196 total # time nginx -s reload nginx -s reload 12.10s user 3.03s system 99% cpu 15.170 total
Aucun problème