Modifications entre les versions 1 et 4 (s'étendant sur 3 versions)
Version 1 à la date du 2016-09-27 20:28:03
Taille: 2588
É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 85: Ligne 87:

=== 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.

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é)