Création d’un vhost pour Proxmox sur Nginx
Testé sur Debian 8.5
Pré requis
Avoir généré le certificat, voir article Installation de Let’s Encrypt
Avoir installé Nginx
Créer le vhost, ajouter le contenu et les chemins vers le certificat letsencrypt.
$ sudo vim /etc/nginx/sites-available/srv-proxmox.domaine.tld.conf
server { listen 80; server_name srv-proxmox.domaine.tld srv-proxmox; if ($scheme = http) { return 301 https://$server_name$request_uri; } } server { listen 443 ssl; server_name srv-proxmox.domaine.tld srv-proxmox; ssl_certificate /etc/letsencrypt/live/srv-proxmox.domaine.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/srv-proxmox.domaine.tld/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; location / { proxy_pass https://srv-proxmox.domaine.tld/; } }
Faire un lien symbolique vers sites-enabled
$ sudo ln -sf /etc/nginx/sites-available/srv-proxmox.domaine.tld /etc/nginx/sites-enabled/
Tester le proxy Nginx
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Si ok redémarrer le serveur Nginx
$ sudo service nginx restart
/!\ Pour mettre a jour le certificat sans passer par Nginx, suivez les infos ci dessous
Une fois le certificat généré, faire une sauvegarde des anciens certificats présents
$ sudo mv /etc/pve/pve-root-ca.pem /etc/pve/pve-root-ca.pem.orig $ sudo mv /etc/pve/local/pve-ssl.key /etc/pve/local/pve-ssl.key.orig $ sudo mv /etc/pve/local/pve-ssl.pem /etc/pve/local/pve-ssl.pem.orig
et copier les nouveaux certificats en les renommant
$ sudo cp /etc/letsencrypt/live/srv-proxmox.domaine.tld/chain.pem /etc/pve/pve-root-ca.pem $ sudo cp /etc/letsencrypt/live/srv-proxmox.domaine.tld/privkey.pem /etc/pve/local/pve-ssl.key $ sudo cp /etc/letsencrypt/live/srv-proxmox.domaine.tld/cert.pem /etc/pve/local/pve-ssl.pem
une fois fait relancer les services suivants
$ sudo service pveproxy restart $ sudo service pvedaemon restart
fermer et relancer le navigateur et c’est OK