Guacamole – Configurer HTTPS avec Nginx

Quelqu’un ma demandé il y’a peu dans un commentaire sur un article de faire un petit billet sur comment publier guacamole en https.

Chose promise chomdu…

J’ai fait simple, en gros, je n’ai absolument pas touché à la configuration du server jetty. Je l’ai juste « publié » au travers Nginx en tant que reverse proxy, c’est faisable sur la même machine, jetty tournant par défaut sur le 8080.

Je passe la partie sur la génération du certificat SSL y’a plein de tuto partout sur le net. Plutôt que de l’auto-générer il est possible d’obtenir des certificats gratuits ET signés par une autorité de certification reconnue.

Par exemple StartSSL fournit un certificat valable un an pour un domaine plus un sous domaine. N’hésitez pas!

Une fois le certificat et sa clef en main, on peut commencer.

On installe nginx via les dépôts d’ubuntu (apt-get install nginx), une fois le server installé on va aller créer le fichier proxy.conf dans /etc/nginx/conf.d

On y ajoute les paramètres suivants pour bien rediriger les en-têtes http et l’IP de l’appelant :

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

On va ensuite aller créer une nouvelle conf à la manière d’apache, en créant un fichier dans /etc/nginx/sites-available puis en le linkant (ln -s) dans /etc/nginx/sites-enabled

J’ai configuré la chose de la sorte, Nginx et Guacamole sur la même bécane, si différent remplacer localhost:port par l’adresse et le port du server guacamole.

server {
  listen 443 ssl;
  server_name toto.com;

 location /guacamole/ {
   proxy_pass http://localhost:8080/guacamole/;
   proxy_buffering off;
   proxy_redirect http://toto.com/guacamole https://toto.com/guacamole/;
   proxy_http_version  1.1;
   }

 ssl_certificate     /etc/ssl/private/toto.crt;
 ssl_certificate_key /etc/ssl/private/toto.key;
 ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers         HIGH:!aNULL:!MD5;
}

Un petit redémarrage de nginx et ça devrait être ok.

J’espère avoir répondu à la question !

 

 Desaille.fr | Le réseau aura raison de vous

1 commentaire

  1. Bonjour Vincent,

    Merci pour ce post bien utile !
    Néanmoins, je rencontre actuellement un pb dans la configuration de Guacamole avec vnc + nginx
    En effet, avec nginx, toutes les 20 secondes environ, j’ai un lag de plusieurs secondes : l’écran ne se rafraichit plus.
    – la conso CPU semble OK
    – RAM dispo
    – j’ai supprimé les certificats et fait écouter nginx sur le port 80 ==> le défaut disparait
    ==> donc, je défaut ne vient pas de tightvnc, ni de guacamole, et pas non plus de jetty

    Plusieurs jours de recherches, et plusieurs dizaines de configurations de nginx n’ont rien résolues.
    (je suis sur Raspberry Pi 2, Wheezy, Guacamole v0.9.9)

    Aurais-tu une idée magique ?
    Merci d’avance
    Guillaume

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.