mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-01 10:22:08 +00:00
170 lines
15 KiB
JSON
170 lines
15 KiB
JSON
{
|
||
"meta": {
|
||
"title": "HTTPS pour ProxMenux Monitor — certificat de l'hôte Proxmox ou chemins personnalisés | ProxMenux",
|
||
"description": "Servez ProxMenux Monitor en HTTPS avec le certificat de l'hôte Proxmox (détecté automatiquement, y compris le certificat Let’s Encrypt installé via ACME de Proxmox) ou un certificat personnalisé à un emplacement quelconque sur disque.",
|
||
"ogTitle": "HTTPS pour ProxMenux Monitor — Hôte Proxmox ou certificat personnalisé",
|
||
"ogDescription": "Activer HTTPS sur le port 8008 avec le certificat hôte Proxmox ou toute paire de .pem / .key personnalisée."
|
||
},
|
||
"header": {
|
||
"title": "HTTPS pour ProxMenux Monitor",
|
||
"description": "Activez HTTPS pour Monitor sur le port 8008 avec le certificat de l'hôte Proxmox détecté automatiquement ou un certificat personnalisé sur disque. L'option Proxmox privilégie le certificat ACME, s'il existe, et réutilise Let’s Encrypt géré par Proxmox sans tâche de renouvellement supplémentaire.",
|
||
"section": "Sécurité"
|
||
},
|
||
"intro": {
|
||
"title": "Ce que cette page couvre",
|
||
"body": "Comment changer le moniteur de HTTP à HTTPS dans le panneau Paramètres → Sécurité, ce que chaque source de certificat pointe en fait sur le disque, comment l'option Proxmox se comporte quand l'hôte a un cert Let's Encrypt et comment définir des chemins personnalisés si vous gérez des certs en dehors de Proxmox."
|
||
},
|
||
"wheresetting": {
|
||
"heading": "Emplacement du réglage",
|
||
"body": "Ouvrez Monitor et allez dans <strong>Paramètres → Sécurité → HTTPS / SSL</strong>. Le panneau affiche HTTP ou HTTPS et, si HTTPS est désactivé, les sources de certificats détectées.",
|
||
"imageAlt": "Paramètres → Sécurité → Panneau HTTPS / SSL dans le moniteur montrant l'état HTTPS-off, le certificat Proxmox détecté automatiquement (sujet, émetteur, expiration) et l'option Utiliser un certificat personnalisé",
|
||
"caption": "Panneau Paramètres → Sécurité → HTTPS / SSL avant activation. Monitor affiche le certificat utilisé par Proxmox et permet de le choisir en un clic."
|
||
},
|
||
"twoways": {
|
||
"heading": "Deux façons d'activer HTTPS",
|
||
"proxmox": {
|
||
"title": "Utiliser le certificat Proxmox",
|
||
"summary": "Un clic : Monitor réutilise le certificat présenté par Proxmox VE sur le port 8006.",
|
||
"items": [
|
||
"Détecté automatiquement, aucun chemin à saisir",
|
||
"Privilégie le certificat ACME s'il existe, sinon le certificat autosigné par défaut",
|
||
"Proxmox renouvelle ; Monitor valide et charge le certificat à la prochaine nouvelle connexion TLS"
|
||
]
|
||
},
|
||
"custom": {
|
||
"title": "Utiliser un certificat personnalisé",
|
||
"summaryRich": "Pointez le moniteur sur une paire <code>.pem</code> / <code>.key</code> n'importe où sur le disque.",
|
||
"items": [
|
||
"Chemins absolus seulement (le processus Monitor doit pouvoir lire les deux)",
|
||
"Utile lorsque les certificats proviennent de <code>certbot</code>, <code>acme.sh</code> ou d'un wildcard",
|
||
"Vous gérez le renouvellement : redémarrez Monitor après modification des fichiers"
|
||
]
|
||
}
|
||
},
|
||
"proxmoxCert": {
|
||
"heading": "Certificat Proxmox — ce qu'il indique en réalité à",
|
||
"intro": "Proxmox VE conserve deux paires de certificats dans <code>/etc/pve/local/</code> :",
|
||
"table": {
|
||
"headers": {
|
||
"file": "Fichier",
|
||
"origin": "Origine",
|
||
"when": "Lorsque le moniteur l'utilise"
|
||
},
|
||
"rows": [
|
||
{
|
||
"fileRich": "<code>pveproxy-ssl.pem</code><br /><code>pveproxy-ssl.key</code>",
|
||
"originRich": "Certificat personnalisé téléchargé via l'interface utilisateur Proxmox — y compris le certificat Let's Encrypt émis sous <em>Datacenter → Node → Certificats → ACME</em>.",
|
||
"when": "Préféré si les deux fichiers existent ; Monitor utilise le certificat présenté par Proxmox."
|
||
},
|
||
{
|
||
"fileRich": "<code>pve-ssl.pem</code><br /><code>pve-ssl.key</code>",
|
||
"originRich": "Certificat autosigné généré au moment de l'installation par l'ICP Proxmox.",
|
||
"whenRich": "Certificat de repli en l'absence de <code>pveproxy-ssl.pem</code>."
|
||
}
|
||
]
|
||
},
|
||
"callout": {
|
||
"title": "Même priorité que Proxmox",
|
||
"bodyRich": "<code>pveproxy</code> applique la même sélection. Avec l'option Proxmox, Monitor utilise le certificat présenté par l'interface Proxmox sur 8006, sans copie ni processus de renouvellement séparé."
|
||
}
|
||
},
|
||
"letsencrypt": {
|
||
"heading": "Obtenir un certificat Let's Encrypt via Proxmox ACME",
|
||
"intro": "Proxmox VE inclut son client ACME. <em>« Order Certificate Now »</em> enregistre le résultat dans <code>/etc/pve/local/pveproxy-ssl.pem</code>, lu par Monitor. Les cinq étapes suivantes résument le <extlink1>guide officiel Proxmox</extlink1> avec les commandes nécessaires.",
|
||
"prereqs": {
|
||
"title": "Préalables",
|
||
"items": [
|
||
"Le noeud a un vrai nom DNS (pas seulement un IP) pointant dessus.",
|
||
"<strong>Soit</strong> le port 80 accessible depuis Internet (validation HTTP-01, la plus simple), <strong>soit</strong> un fournisseur DNS avec identifiants API (DNS-01, fonctionne derrière NAT et accepte les certificats génériques).",
|
||
"Une adresse email pour le compte ACME."
|
||
]
|
||
},
|
||
"step1": {
|
||
"heading": "Étape 1 — Enregistrer le compte ACME",
|
||
"introRich": "Remplacer le courriel par le vôtre. Le nom de compte <code>default</code> n'est qu'une étiquette — vous pouvez utiliser n'importe quelle chaîne.",
|
||
"code": "pvenode acme account register default you@example.com",
|
||
"afterRich": "Proxmox vous invite à accepter les termes de service Let's Encrypt. Après cela, le compte est maintenu sous <code>/etc/pve/priv/acme/</code> et l'onglet ACME dans l'interface graphique l'affichera."
|
||
},
|
||
"step2": {
|
||
"heading": "Étape 2 — Choisir un type de défi",
|
||
"http01Rich": "<strong>HTTP-01</strong> est le plus facile : il est intégré, pas de plugin supplémentaire. Let's Encrypt se connecte à <code>http://<your-host>/.well-known/acme-challenge/...</code> sur le port 80, de sorte que le port 80 doit être ouvert de l'Internet public à votre noeud — généralement un port vers l'avant sur votre routeur.",
|
||
"dns01Rich": "<strong>DNS-01</strong> fonctionne sans exposer le port 80 (bon pour les homelabs derrière CG-NAT) et est la seule option pour les certificats wildcard. Vous ajoutez un plugin DNS une fois avec le jeton API de votre fournisseur. Exemple Cloudflare:",
|
||
"code": "pvenode acme plugin add dns cf \\\n --api cloudflare \\\n --data CF_Token=YOUR_CLOUDFLARE_API_TOKEN",
|
||
"outroRich": "Pour d'autres fournisseurs (Gandi, OVH, AWS Route 53, etc.), consultez <code>pvenode acme plugin add dns --help</code>. Proxmox inclut <extlink2>tous les plugins DNS acme.sh</extlink2>."
|
||
},
|
||
"step3": {
|
||
"heading": "Étape 3 — Relier le domaine à votre nœud",
|
||
"http01Rich": "Pour HTTP-01 (utilise le plugin <code>standalone</code> intégré):",
|
||
"code1": "pvenode config set --acme domains=host.example.com,account=default",
|
||
"dns01": "Pour DNS-01 avec le plugin Cloudflare de l'étape 2 :",
|
||
"code2": "pvenode config set --acmedomain0 domain=host.example.com,plugin=cf\npvenode config set --acme account=default",
|
||
"wildcardRich": "Certificat générique ? Ajoutez <code>domain=*.example.com</code> dans une entrée séparée <code>--acmedomainN</code>. Les certificats génériques nécessitent DNS-01."
|
||
},
|
||
"step4": {
|
||
"heading": "Étape 4 — Commander le certificat",
|
||
"code": "pvenode acme cert order",
|
||
"afterRich": "Le premier tour prend généralement 30–60 secondes pendant que le défi se propage. Sur succès Proxmox écrit <code>/etc/pve/local/pveproxy-ssl.pem</code> + <code>.key</code>, redémarre <code>pveproxy</code>, et une cron de renouvellement est programmée automatiquement (Let's Encrypt certs sont valides 90 jours; Proxmox renouvelle à 60)."
|
||
},
|
||
"step5": {
|
||
"heading": "Étape 5 — Vérifier l'émetteur",
|
||
"code": "openssl x509 -in /etc/pve/local/pveproxy-ssl.pem -noout -issuer",
|
||
"afterRich": "devrait imprimer un émetteur commençant par <code>O = Let's Encrypt</code>. S'il lit plutôt <code>CN = Proxmox Virtual Environment</code> l'ordre a échoué et le fichier est toujours le certificat PVE autosigné — re-exécuter <code>pvenode acme cert order --debug 1</code> pour voir pourquoi."
|
||
},
|
||
"gui": {
|
||
"title": "Vous préférez l'interface utilisateur ? Mêmes cinq étapes",
|
||
"bodyRich": "<em>Datacenter → ACME</em> enregistre le compte ; <em>Datacenter → ACME → Plugins</em> ajoute le plugin DNS ; <em>Node → Certificates → ACME</em> associe le domaine ; <em>Order Certificates Now</em> exécute l'étape 4. Les commandes précédentes servent à automatiser et à travailler sans interface graphique."
|
||
}
|
||
},
|
||
"switchToHttps": {
|
||
"heading": "Changez le moniteur en HTTPS",
|
||
"bodyRich": "Une fois <code>/etc/pve/local/pveproxy-ssl.pem</code> signé par Let's Encrypt, ouvrez <strong>Paramètres → Sécurité → HTTPS / SSL</strong>, vérifiez que l'émetteur est <em>Let's Encrypt</em> et non l'AC locale de Proxmox, puis cliquez sur <strong>Utiliser le certificat Proxmox</strong>. Monitor redémarre et le prochain chargement utilise HTTPS sur 8008 avec une chaîne de confiance publique. Les renouvellements ACME suivants sont validés et sélectionnés à la prochaine nouvelle connexion TLS, sans interrogation périodique ni redémarrage à chaque renouvellement. <strong>Actualiser le certificat</strong> reste disponible dans Sécurité pour le diagnostic et la récupération."
|
||
},
|
||
"custom": {
|
||
"heading": "Certificat personnalisé — quand l'utiliser",
|
||
"intro": "Cliquez sur <strong>Utiliser un certificat personnalisé</strong> et saisissez deux chemins absolus :",
|
||
"items": [
|
||
"<strong>Certificat</strong> — chaîne complète en PEM (<code>.pem</code> ou <code>.crt</code>).",
|
||
"<strong>Clé privée</strong> : clé correspondante en PEM (<code>.key</code>)."
|
||
],
|
||
"outro": "Les deux fichiers sont lus par le processus Monitor au démarrage. Assurez-vous qu'ils restent lisibles par l'utilisateur que l'unité systemd fonctionne comme (root par défaut). Emplacements communs lorsque l'ACME est géré à l'extérieur de Proxmox:",
|
||
"code": "# certbot\n/etc/letsencrypt/live/<your-host>/fullchain.pem\n/etc/letsencrypt/live/<your-host>/privkey.pem\n\n# acme.sh\n~/.acme.sh/<your-host>_ecc/fullchain.cer\n~/.acme.sh/<your-host>_ecc/<your-host>.key",
|
||
"symlinkCallout": {
|
||
"title": "Symlink cibles vs fichiers",
|
||
"bodyRich": "<code>certbot</code> stocke les fichiers réels dans <code>/etc/letsencrypt/archive/</code> et le chemin <code>live/</code> est un lien symbolique. Pointez le moniteur sur le lien symbolique <code>live/</code> et non sur le fichier <code>archive/</code> — de cette façon, chaque cycle de renouvellement réécrit simplement la cible de lien symbolique et le moniteur récupère le nouveau certificat au début du service suivant."
|
||
}
|
||
},
|
||
"afterHttps": {
|
||
"heading": "Après avoir activé HTTPS",
|
||
"bodyRich": "Enregistrer le changement écrit <code>/etc/proxmenux/ssl_config.json</code> et déclenche un redémarrage de l'unité <code>proxmenux-monitor</code> systemd. L'onglet navigateur perdra sa connexion actuelle — rechargez-la sur <code>https://<host>:8008/</code>. La première charge avec un certificat Let's Encrypt ne doit montrer aucun avertissement; avec le certificat Proxmox autosigné, le navigateur aura besoin d'une exception, la même que pour le port 8006.",
|
||
"reverse": {
|
||
"heading": "Proxies inverses et webhooks",
|
||
"bodyRich": "Lorsque le moniteur passe à HTTPS, les URL Proxmox VE webhook enregistrées pour les notifications retournent automatiquement de <code>http://</code> à <code>https://</code>. Les entrées existantes de webhook sont réécrites la prochaine fois qu'une règle de notification est enregistrée ou redétectée, de sorte qu'aucune modification manuelle de la configuration de notification Proxmox n'est nécessaire."
|
||
}
|
||
},
|
||
"trustCa": {
|
||
"heading": "Faites confiance à l'AC autosignée Proxmox",
|
||
"intro1Rich": "Pour conserver le certificat Proxmox par défaut sans ACME, importez l'AC racine du cluster dans le magasin de confiance du système ou du navigateur. Monitor détecte <code>/etc/pve/local/pve-ssl.pem</code> comme certificat de repli. Le client fait alors confiance à l'émetteur ; l'URL doit toujours correspondre à un nom du certificat.",
|
||
"intro2Rich": "Le fichier CA vit à <code>/etc/pve/pve-root-ca.pem</code> sur chaque nœud. Dans un cluster, le chemin est sur le système de fichiers partagé <code>pmxcfs</code> de sorte que tous les nœuds partagent la même racine, et une seule importation couvre l'ensemble du datacenter. Copiez-le sur votre machine :",
|
||
"code": "scp root@<your-host>:/etc/pve/pve-root-ca.pem ./pve-root-ca.pem",
|
||
"thenImport": "Importez-le du côté client :",
|
||
"items": [
|
||
"<strong>Linux (tout le système) :</strong> exécutez <code>sudo cp pve-root-ca.pem /usr/local/share/ca-certificates/pve-root-ca.crt</code>, puis <code>sudo update-ca-certificates</code>. Les navigateurs utilisant le magasin système (Chromium, Edge) la reconnaissent après redémarrage ; Firefox utilise son propre magasin et nécessite l'importation manuelle ci-dessous.",
|
||
"<strong>macOS :</strong> ouvrez le fichier <code>.pem</code> par double-clic dans Trousseaux d'accès, ajoutez-le au trousseau <em>Système</em>, puis choisissez <em>Se fier → Toujours approuver</em>.",
|
||
"<strong>Windows :</strong> clic droit sur le fichier → <em>Installer le certificat</em> → placez-le dans <em>Autorités de certification racines de confiance</em>.",
|
||
"<strong>Firefox (tout OS) :</strong> <em>Paramètres → Vie privée et sécurité → Certificats → Afficher les certificats → Autorités → Importer</em> ; cochez <em>Faire confiance à cette AC pour identifier les sites web</em>."
|
||
],
|
||
"standalone": {
|
||
"title": "Nœuds autonomes en dehors d'un cluster",
|
||
"bodyRich": "Chaque hôte Proxmox non clustered possède son propre <code>pve-root-ca.pem</code>. Si vous gérez plusieurs hôtes autonomes, répétez la copie/import pour chacun, ou rejoignez-les à un cluster afin qu'ils partagent une seule racine."
|
||
}
|
||
},
|
||
"disable": {
|
||
"heading": "Désactivation de HTTPS",
|
||
"bodyRich": "Cliquez sur <strong>Désactiver HTTPS</strong> dans le même panneau. Monitor redémarre en HTTP non chiffré, utile si un certificat personnalisé illisible empêche le démarrage. Aucune désinstallation supplémentaire n'est nécessaire ; les fichiers de certificats restent intacts.",
|
||
"stateCallout": {
|
||
"title": "Emplacement de l'état",
|
||
"bodyRich": "<code>/etc/proxmenux/ssl_config.json</code> stocke les chemins de cert actif et la source (<code>none</code>, <code>proxmox</code>, <code>custom</code>). La suppression du fichier équivaut à la désactivation de HTTPS — le prochain démarrage du moniteur revient à HTTP."
|
||
}
|
||
}
|
||
}
|