Wiki Haproxy - redirection de domaine

0
9
août
2019

Introduction

Quand HaProxy fait une redirection, il n'y a pas de communication avec les serveurs derrière le backend. Tout est entièrement géré par le frontend.

Si le client requière via https, le certificat https doit être signé. S'il ne l'est pas le navigateur web va stopper et émettre une alerte de sécurité et ce avant d'avoir reçu le code http signalant la redirection. Pas très fun pour vos utilisateurs.

Exemple

Peut être inséré dans les section backend ou (...)

Forum Linux.debian/ubuntu [Résolu] HaProxy - Probleme de transfert de cookies session entre backends (crsf token)

Posté par . Licence CC by-sa.
0
14
juin
2019

Bien le bonjour les troublions du net !

Avec HaProxy j'essaye de dispatcher les requêtes WEBDAV vers 2 backends différents en fonction du type de requêtes.

Ainsi les requêtes de lecture doivent aller vers les serveurs backends cloud_read et les requêtes d'écriture vers les serveurs backends cloud_write.

Voici la config (simplifiée) qui renvoie toutes les requêtes PUT vers cloud_write et tout le reste vers cloud_read :

frontend my_frontend
        bind *:80 v4v6
        bind *:443 v4v6 ssl crt /etc/haproxy/certs/cloud.belgium.com.pem
        http-response set-header
(...)

Forum Programmation.php [Solved] [Optimisation] PHP/Bash tester le plus rapidement si un process est actif

Posté par . Licence CC by-sa.
1
17
mar.
2019

Dans un script de HealthCheck l'utilisateur peut tester si un ou plusieurs processus sont actifs sur le serveur.

Voici un exemple adapté du code :

Cette version scan /proc/*/cmdline à la recherche des logiciels demandés par l'user.

<?php
$softwareName = array( "syncthing", "top"  ); /* add name for check if these softwares names is active running */

    $chkSoftIsLunch=true;
    if(is_array($softwareName)) {
        foreach($softwareName as $name){
                $pids=null
(...)

Wiki [Tuto/HowTo] Nextcloud - Health Check avec HaProxy

0
6
oct.
2018

Introduction

Pour des raisons d'efficacité et d'optimisation, il est déconseillé d'utiliser l'index.php ou status.php afin de faire les Health Check de HaProxy ou tout autre frontend.
Ici nous allons utiliser un script dédié dont le but est de tester "l'état de santé" des machines tout en consommant le moins de ressources possible.
Les variables permettant de configurer le script peuvent, et il est conseillé de le faire, être rangée directement dans le fichier config.php de nextcloud.

Rappel : En (...)

Wiki [Tuto/HowTo] Nextcloud - restreindre accès à la page status.php

0
1
oct.
2018

Introduction

La page status.php sert aux applications nextcloud clientes de vérifier le status en ligne du serveur.
Cette page peut aussi être utilisé afin de forger des Google Dork permettant de trouver des installations de nextcloud potentiellement plus fragile face au piratage.
Topic sur le forum de la communauté nextcloud : https://help.nextcloud.com/t/how-to-censor-status-php-page/38040
Il est fortement déconseillé de bloquer l'accès à cette page au risque de casser les clients de Nextcloud.

Via HaProxy

Ajoutez les lignes suivantes dans voter Backend (conseillé) (...)

Forum Linux.debian/ubuntu Petit partage - Conky pour logs apache2, DNSChef, OpenVPN, HaProxy

2
19
sept.
2018

Source de l'article (workflow) : Conky - Display logs files

Après avoir parcourus les tréfonds du Regex, avoir emboîté les briques du puzzle ancestrale du grand dieu Sed; notre héro au grand Shell vient nous partager ses créations infernales de la semaine.
D'autres skins à venir, plus que probablement.
Bon amusement !
😉

Les Conkys

Conky pour afficher les Logs d'Apache2

Source Code : https://gitlab.com/voxdemonix/conky/tree/master/conky_logs_apache2
Ce conky affiche les 15 dernières lignes d'un fichier log apache2 (par défaut /tmp/remote_logs/access.log) (...)

Wiki [Tuto/HowTo] [Debian/Ubuntu] Créer manuellement un Cluster Web

1
12
sept.
2018

Difficulté de ce tutoriel : Bidouilleur confirmé n'ayant pas peur de la ligne de commande.

Introduction

Un cluster est un ensemble d'ordinateurs physique travaillant pour une tâche commune, augmentant ainsi la puissance de calcul et évitant la fin de service lorsque l'une d'elles tombe en panne.
Le désavantage est un coûts en énergie, en consommation réseau et en ressources machines. Ainsi dans le cas présent, par exemple, syncthing devra vérifier très régulièrement les modifications des fichiers du serveur web, et (...)

Wiki [Tuto/HowTo] HaProxy - bloquer les serveurs renvoyant des erreurs HTTP

0
29
août
2018

Introduction

Par défaut HaProxy ne vérifie que la présence en ligne ou non des serveurs web, pas les erreurs renvoyées dans les en-têtes.
Ainsi, un serveur backend non fonctionnel suite à un problème de montage ou d'accès à la base de données, sera quand même considéré comme "UP" et les requêtes réseaux continueront d'y être acheminées, provoquant moult mécontentements chez vos utilisateurs qui pourraient se retrouver spammer de notification d'erreur sur leur smartphone chéri.
Néanmoins, HaProxy permet, via (...)

Wiki [Tuto/HowTo] HaProxy - bannir les requêtes quand l'User-Agent est vide

0
20
juil.
2018

Introduction

Il n'est pas rare que des robots crawlent les sites internet sans utiliser d'User-Agent.
Si vous souhaitez les bannir de vos frontends HaProxy, voici comment faire.

Éditez votre fichier de configuration /etc/haproxy/haproxy.cfg

Ensuite selon vos envies: ajoutez une des deux règles suivantes.

  • Si vous souhaitez renvoyer une erreur HTTP 403 Forbidden (accès interdis) quand l'user-agent est vide, ajoutez la règle HaProxy pour frontend suivante.
http-request deny if { hdr_cnt(user-agent) eq 0 }
  • Si vous voulez bannir toute (...)

Wiki [Tuto/HowTo] Ajouter des Tor Hidden Service a vos frontends HaProxy

0
26
juin
2018

Introduction

Je pars du principe que vous avez déjà installez au moins un Frontend et un Backend et êtes donc capable de lire et traduire (avec l'aide des moteurs de recherche) les configurations d'HaProxy suivantes sans me forcer à entrer trop dans le détails.
Pour rappel HaProxy est un proxy permettant de répartir la charge réseau sur une ou plusieurs machines. Tor Hidden Service est quant à lui un mécanisme permettant de disposer d'un nom de domaine unique au monde (...)

Forum Linux.général [Nginx load balancing] erreur 404

Posté par . Licence CC by-sa.
1
17
fév.
2018

Salut tout monde,

J'essaye de load balancer un site .net sur 6 serveurs IIS avec nginx (CentOS7).
Lorsque j'attaque directement les IIS le site est OK (HTTP 200), mais lorsque je passe par nginx j'obtiens une erreur 404 à chaque fois.

Voici les headers du site quand je passe en direct

Request URL:http://www.mywebapp.fr/
Request Method:GET
Status Code:200 OK
Remote Address:10.236.10.23:80
Referrer Policy:no-referrer-when-downgrade
Cache-Control:public, max-age=7200, stale-while-revalidate=3600
Content-Type:text/html; charset=utf-8
Date:Sat, 17 Feb 2018 00
(...)

Wiki [Tuto/HowTo] [Debian/Ubuntu] Clusteriser vos bases de données MariaDB avec Galera Cluster et HaProxy

1
21
sept.
2017

Présentation

Un Cluster de base de données est un ensemble de serveurs reliés entre eux via réseau afin de créer un ensemble virtuel utilisant la réplication des données pour protéger les bases de données contre une éventuelle panne (machine, réseau).

HaProxy va servir de pont (proxy) entre les clients et les serveurs du cluster de base de données. C'est un répartiteur de charge (load balancer) qui va choisir le serveur le plus facilement accessible (le moins occupés) lorsqu'un client veut (...)

Forum Linux.général [Tuto/HowTo] [Ubuntu/Debian] Load Balancing - redirection vers plusieurs vhost avec HaProxy

4
20
sept.
2017

musique d'ambiance : Les Choristes - Vois Sur Ton Chemin (Paraphonics Remix) LES RAMONEURS DE MENHIRS - Dans An Diaoul
Testé avec succès sur : Ubuntu Minimal 16.04 (ARM)
Difficulté : moyen

Mise en place HaProxy (load balancing)

Installez les pré-requis

apt-get update
apt-get install -y haproxy

Activez HaProxy

sed -i "s/ENABLED=0/ENABLED=1/g" /etc/default/haproxy
sed -i "s/ENABLED=0/ENABLED=1/g" /etc/init.d/haproxy

Créez le dossier qui va accueillir les certificats TLS (exSSL)

mkdir -p /etc/haproxy/certs/

Concaténez chaque certificat (clés publique) et sa clés privé (recommencez (...)