Z3C et zone d’écran morte

La partie haute de l’écran de mon Z3C est morte.
Je n’ai donc plus accès à la barre de status Android.
La solution… je l’ai trouvée ici :
https://android.stackexchange.com/questions/57267/resize-screen-for-dead-touch-zone
Il suffit de réduire la zone d’affichage à la zone tactile qui fonctionne encore.


adb devices
adb shell dumpsys display | grep mBaseDisplayInfo
adb shell wm overscan 0,40,0,0

Arghh…. et maintenant c’est la partie basse qui est morte…

adb devices
adb shell dumpsys display | grep mBaseDisplayInfo
adb shell wm overscan 0,40,0,40

Posté dans (HS) | Marqué comme

Debian 8 + Haproxy + certificat SSL Let’s Encrypt

Allez hop, on continue cette fois-ci avec nos serveurs que l’on souhaite accessibles en https.

On va sécuriser la lien entre notre HAproxy et les serveurs de nos backends.

thierry-bugeat-haproxy-nossl

Installer le package certbot (https://certbot.eff.org/#debianjessie-haproxy)

Pour Debian 8 Jessie, nous devons ajouter le dépôt des backports en ajoutant la ligne suivante à notre fichier « /etc/apt/sources.list »

deb http://httpredir.debian.org/debian jessie-backports main contrib non-free

Avant de pouvoir installer certbot.

apt-get update
apt-get install certbot -t jessie-backports

Obtenir notre certificat

A la racine de notre site web (Exemple: « /var/www/thierry.bugeat.com »), nous créons un dossier « .well-known ». Le serveur web doit être configuré pour accepter toutes les requêtes à destination de ce dossier.

Nous pouvons maintenant demander un certificat pour notre nom de domaine « thierry.bugeat.com »…

certbot certonly --webroot -w /var/www/thierry.bugeat.com/ -d thierry.bugeat.com

Vous devez saisir un email…

thierry-bugeat-lets-encrypt

…puis accepter les termes et conditions.

Si tout s’est bien déroulé, le message suivant s’affiche et votre certificat se trouve maintenant dans le dossier « /etc/letsencrypt/archive/thierry.bugeat.com »

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/XXXXXXXXXX/fullchain.pem. Your cert
   will expire on 2017-06-05. To obtain a new or tweaked version of
   this certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you lose your account credentials, you can recover through
   e-mails sent to XXXXXXXXXX@XXXXXXXXXX.
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

NB: Vou pouvez demander autant de certificats SSL que de noms de domaines.

...
certbot certonly --webroot -w /var/www/wallabag/web/ -d wallabag.bugeat.com
...

Activation de SSL sur Haproxy:
Préparons nos certificats pour qu’ils puissent être utilisés par Haproxy.

cd /etc/letsencrypt/archive/thierry.bugeat.com && cat cert1.pem privkey1.pem > haproxy.pem 
cd /etc/letsencrypt/archive/wallabag.bugeat.com && cat cert1.pem privkey1.pem > haproxy.pem

Nous pouvons maintenant les utiliser de la façon suivante

...
...
...
# =============
# --- HTTPS ---
# =============

frontend FRONTEND_HTTPS
  mode http
  bind 0.0.0.0:443 \
    ssl \
      crt /etc/letsencrypt/archive/thierry.bugeat.com/haproxy.pem \
      crt /etc/letsencrypt/archive/wallabag.bugeat.com/haproxy.pem
  use_backend BACKEND_HTTP1 if { ssl_fc_sni thierry.bugeat.com }
  use_backend BACKEND_HTTP1 if { ssl_fc_sni wallabag.bugeat.com }
...
...
...

Veuillez noter que les backends utilisés sont les mêmes que pour le HTTP. Nul besoin d’en créer des nouveaux.

Après avoir relancé Haproxy, vous pouvez vous rendre sur votre site en https et constater que la connexion est sécurisé.
thierry-bugeat-haproxy-ssl

Let’s encrypt… mission réussie.

HA Proxy et multiples serveurs http sur le port 80 (Suite et fin)

Pour faire suite à ce magnifique article, voici venir la solution qui va nous permettre de dispatcher nos requêtes http vers le bon serveur en se basant sur le nom de domaine.

On va ajouter des backends à notre configuration haproxy.
Par défaut j’aime avoir un backend par serveur, et un backend de clustering.

# ================
# --- BACKENDS ---
# ================

backend BACKEND_HTTP1
        cookie SERVERID insert indirect nocache
        server TB_001 127.0.0.11:8080 cookie tb001 weight 100 maxconn 100 check

backend BACKEND_HTTP2
        cookie SERVERID insert indirect nocache
        server TB_002 192.168.1.12:8080 cookie tb002 weight 100 maxconn 100 check

backend BACKEND_HTTP
        server TB_001 192.168.1.11:8080 cookie tb001 weight 40 maxconn 100 check
        server TB_002 192.168.1.12:8080 cookie tb002 weight 60 maxconn 100 check

NB: N’oubliez pas de mettre un fichier « check.txt » sur chacun de vos serveurs, et de les faire tourner sur le port 8080

Uns fois haproxy redémarré, vous pouvez vérifier sur la page de stats que tout est bien passé au vert.
thierry-bugeat-haproxy

Il reste maintenant à créer les ACLs pour rediriger nos noms de domaines vers le bon serveur.

# ============
# --- HTTP ---
# ============

listen FRONTEND_HTTP 192.168.1.11:80
        mode http 
        log global
        option  httplog
        stats enable
        stats auth XXXXXXXXXX:XXXXXXXXXX
        balance roundrobin
        option httpclose 
        option forwardfor
        option httpchk HEAD /check.txt HTTP/1.0
        capture request header Host len 20

        acl ACL_CLOUD           hdr(host) -i cloud.bugeat.com   
        acl ACL_THIERRY         hdr(host) -i thierry.bugeat.com 
        acl ACL_WALLABAG        hdr(host) -i wallabag.bugeat.com

        use_backend BACKEND_HTTP2 if ACL_CLOUD   
        use_backend BACKEND_HTTP1 if ACL_THIERRY 
        use_backend BACKEND_HTTP1 if ACL_WALLABAG

        default_backend BACKEND_HTTP

Je pense que cette configuration est suffisemment claire.
On déclare une ACL qui se base sur le nom de domaine…

...
        acl ACL_CLOUD           hdr(host) -i cloud.bugeat.com   
        acl ACL_THIERRY         hdr(host) -i thierry.bugeat.com 
        acl ACL_WALLABAG        hdr(host) -i wallabag.bugeat.com
...

…puis on utilise le backend associé.

...
        use_backend BACKEND_HTTP2 if ACL_CLOUD   
        use_backend BACKEND_HTTP1 if ACL_THIERRY 
        use_backend BACKEND_HTTP1 if ACL_WALLABAG
...

Au final on a 2 serveurs http accessibles au travers de la même IP.