Modifications entre les versions 3 et 4
Version 3 à la date du 2016-09-27 20:43:23
Taille: 3505
Éditeur: LionelValentin
Commentaire:
Version 4 à la date du 2016-09-28 18:58:55
Taille: 3568
Éditeur: LionelValentin
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 30: Ligne 30:
 # log level
 #error_log /var/log/nginx/prod-proxy01.vpc02.auf.error debug; #debug
 error_log /var/log/nginx/prod-proxy01.vpc02.auf.error; #normal
        # log level
        access_log /var/log/nginx/www.idneuf.org.access;

        #error_log /var/log/nginx/www.idneuf.org.error debug; #debug
        error_log /var/log/nginx/www.idneuf.org.error; #normal
Ligne 141: Ligne 143:

Rédiger « OVH/VPC02/ReverseProxy » ici.

NginX - ReverseProxy

Installation

Se référer a la documentation : AUF - PROCÉDURE D'INSTALLATION DU REVERSE PROXY IDNEUF.

Configurer un site comportant un cluster

Dans le fichier de configuration du site :

upstream proxy-idneuf {
        ip_hash;
        server prod-drupal02-idneuf.vpc02.auf;
        server prod-drupal03-idneuf.vpc02.auf;
}

server {
        listen 80;
        listen [::]:80;

        server_name prod-prox-vip.vpc02.auf;
        #server_name prod-proxy01.vpc02.auf;
        #server_name idneuf.org;
        #server_name ori-oai.idneuf.org;

        root /var/www/html/;

        # log level
        access_log /var/log/nginx/www.idneuf.org.access;

        #error_log /var/log/nginx/www.idneuf.org.error debug; #debug
        error_log /var/log/nginx/www.idneuf.org.error; #normal

        location / {

                if ($args ~ q=user){
                        rewrite ^$ http://prod-proxy-vip.vpc02.auf/user permanent;
                }

                if ($args ~ q=admin){
                        rewrite ^$ http://prod-proxy-vip.vpc02.auf/admin permanent;
                }

                proxy_set_header Host prod-proxy-vip.vpc02.auf;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://proxy-idneuf;
        }

        location /admin {
                proxy_set_header Host prod-drupal01-idneuf.vpc02.auf;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://prod-drupal01-idneuf.vpc02.auf;
        }

        location /user {
                proxy_set_header Host prod-drupal01-idneuf.vpc02.auf;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://prod-drupal01-idneuf.vpc02.auf;
        }

        location /ressources/ {
                #try_files $uri $uri/ $uri/index.html =404;
                proxy_set_header Host prod-proxy-vip.vpc02.auf;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://prod-ori-oai01-idneuf.vpc02.auf;
        }

        location /ori-oai-thumbnail/ {
                proxy_set_header Host prod-proxy-vip.vpc02.auf;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://prod-ori-oai01-idneuf.vpc02.auf;
        }
}

L'option ip_hash permet de conserver la connexion de chaque client sur le même serveur.

Keepalived ACTIF/PASSIF

Installation des paquets

apt-get install keepalived

Configuration

Dans le fichier /etc/keepalivedd/keepalived.conf, ajouter :

# Global Configuration
global_defs {
        notification_email {
                root
        }
  notification_email_from keepalived@ca.auf.org
  smtp_server localhost
  smtp_connect_timeout 30
  router_id KeepAlivedProxy

}

vrrp_script chk_nginx {
    script "pidof nginx"
    interval 2
}

vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 150
        advert_int 1

        authentication {
                auth_type PASS
                auth_pass xxxxxxxxx
        }
        
        virtual_ipaddress {
                10.242.1.196/25 dev eth0
        }

        track_script {
                chk_nginx
        }
}

Ainsi, si Nginx tombe ou si le serveur tombe, l'IPV va être attribuée au BACKUP.

La directive STATE indique le status au démarrage de keepalived.

OVH/VPC02/ReverseProxy (dernière édition le 2019-08-26 21:51:59 par JeanChristopheAndré)