factorisation macros
This commit is contained in:
parent
c70da9ad8f
commit
a2bdf91dce
3 changed files with 58 additions and 100 deletions
|
@ -1,7 +1,7 @@
|
||||||
# RETIRER TOUS LES COMMENTAIRES, CONSERVER LA LIGNE UTILE PARMI CELLES CI-DESSOUS ET REMPLACER LES CHAMPS EN S'AIDANT DE LA DOCUMENTATION CI-DESSOUS
|
# RETIRER TOUS LES COMMENTAIRES, CONSERVER LA LIGNE UTILE PARMI CELLES CI-DESSOUS ET REMPLACER LES CHAMPS EN S'AIDANT DE LA DOCUMENTATION CI-DESSOUS
|
||||||
#
|
#
|
||||||
# Use vhost_HTTP_Generic $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf $modsecurityStatus
|
# Use vhost_HTTP_Generic $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf $modsecurityStatus
|
||||||
# Use vhost_HTTPS_Generic $vhostFQDN $cert $protoDest $urlDest $logPolicy $accessPolicy $indexingConf $modsecurityStatus
|
# Use vhost_HTTPS_Generic $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf $modsecurityStatus
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
# L'activation de le fonction reverse proxy pour un virtualhost se fait par l'utilisation d'une des macros disponibles
|
# L'activation de le fonction reverse proxy pour un virtualhost se fait par l'utilisation d'une des macros disponibles
|
||||||
#
|
#
|
||||||
# vhost_HTTP_Generic : mandataire HTTP vers un serveur mandate interne
|
# vhost_HTTP_Generic : mandataire HTTP vers un serveur mandate interne
|
||||||
# vhost_HTTPS_Generic : mandataire HTTPS avec support des certificats région et redirection automatique HTTP -> HTTPS
|
# vhost_HTTPS_Generic : mandataire HTTPS avec support d'un certificat letsencrypt et redirection automatique HTTP -> HTTPS
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
## PARAMETRES
|
## PARAMETRES
|
||||||
|
@ -23,7 +23,12 @@
|
||||||
# $urlDest : En mode http et https, indiquer l'url du serveur mandaté, sans le protocole
|
# $urlDest : En mode http et https, indiquer l'url du serveur mandaté, sans le protocole
|
||||||
# En mode balancer, répéter le FQDN pour utiliser comme nom de balancer. Il doit aussi figurer dans la configuration supplémentaire
|
# En mode balancer, répéter le FQDN pour utiliser comme nom de balancer. Il doit aussi figurer dans la configuration supplémentaire
|
||||||
# $logPolicy : Niveau de log souhaité : debug | info | notice | warn | error | crit | alert | emerg ou combinaison, avec guillemets "debug ssl:warn authz_core:crit dumpio:trace7 rewrite:trace6"
|
# $logPolicy : Niveau de log souhaité : debug | info | notice | warn | error | crit | alert | emerg ou combinaison, avec guillemets "debug ssl:warn authz_core:crit dumpio:trace7 rewrite:trace6"
|
||||||
# $accessPolicy : Accessibilite du virtualhost : OpenAccessPolicy | InternalAccessPolicy | ManagementAccessPolicy | LDAPAccessPolicy
|
# $accessPolicy : Accessibilite du virtualhost :
|
||||||
|
# - OpenAccessPolicy : accessible publiquement
|
||||||
|
# - InternalAccessPolicy : accessible depuis le réseau interne uniquement
|
||||||
|
# - InternalAdminAccessPolicy : accessible depuis les ip internes des administrateurs uniquement
|
||||||
|
# - LDAPUserAccessPolicy : accessible à tout utilisateur disposant d'un compte ldap ; peut être suivi de "Require ldap-user"
|
||||||
|
# - LDAPAdminAccessPolicy : accessible à tout administrateur authentifié par son compte ldap
|
||||||
# $indexingConf : Stratégie vis a vis des moteurs de recherche : AllowCrawlerIndexing | BlockCrawlerIndexing
|
# $indexingConf : Stratégie vis a vis des moteurs de recherche : AllowCrawlerIndexing | BlockCrawlerIndexing
|
||||||
# $modsecurityStatus : Activation ou pas du module mod_security pour le virtualhost : On | Off | DetectionOnly
|
# $modsecurityStatus : Activation ou pas du module mod_security pour le virtualhost : On | Off | DetectionOnly
|
||||||
# La valeur "On" est preferable en production mais peut amener à gerer une liste d'exclusions
|
# La valeur "On" est preferable en production mais peut amener à gerer une liste d'exclusions
|
||||||
|
|
|
@ -76,17 +76,15 @@
|
||||||
|
|
||||||
### Pour donner accès à des utilisateurs en plus de ceux acceptés par la policy
|
### Pour donner accès à des utilisateurs en plus de ceux acceptés par la policy
|
||||||
#<Location />
|
#<Location />
|
||||||
# Use InternalAccessPolicy
|
# Use LDAPUserAccessPolicy
|
||||||
#
|
|
||||||
# Authname "Acces restreint"
|
|
||||||
# Authtype Basic
|
|
||||||
# AuthBasicProvider ldap-interne
|
|
||||||
# Use ConnexionLdapInterne
|
|
||||||
# Require ldap-user login1
|
# Require ldap-user login1
|
||||||
# Require ldap-user login2
|
# Require ldap-user login2
|
||||||
# Require ldap-attribute "memberof=cn=xxxxx"
|
# Require ldap-attribute "memberof=cn=xxxxx"
|
||||||
#</Location>
|
#</Location>
|
||||||
|
|
||||||
|
### Pour ne pas propager l'authentification vers le serveur mandaté
|
||||||
|
# RequestHeader unset Authorization
|
||||||
|
|
||||||
|
|
||||||
### Si une API du site mandaté utilise des codes d'erreur HTTP pour communiquer une information fonctionnelle à son client (beurk)
|
### Si une API du site mandaté utilise des codes d'erreur HTTP pour communiquer une information fonctionnelle à son client (beurk)
|
||||||
#<Location "/api/">
|
#<Location "/api/">
|
||||||
|
|
|
@ -101,12 +101,6 @@ SecCookieFormat 0
|
||||||
|
|
||||||
|
|
||||||
# Macros
|
# Macros
|
||||||
<Macro ProxyCommon>
|
|
||||||
ProxyRequests Off
|
|
||||||
ProxyVia Off
|
|
||||||
ProxyPreserveHost On
|
|
||||||
</Macro>
|
|
||||||
|
|
||||||
<Macro OpenAccessPolicy>
|
<Macro OpenAccessPolicy>
|
||||||
Require all granted
|
Require all granted
|
||||||
</Macro>
|
</Macro>
|
||||||
|
@ -189,6 +183,49 @@ SecCookieFormat 0
|
||||||
</Macro>
|
</Macro>
|
||||||
|
|
||||||
|
|
||||||
|
# Configuration de la fonction reverse proxy
|
||||||
|
<Macro ProxyCommon $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf>
|
||||||
|
# Definition du virtualhost
|
||||||
|
ServerName $vhostFQDN
|
||||||
|
DocumentRoot "/var/www/html"
|
||||||
|
|
||||||
|
# Niveau de log souhaite
|
||||||
|
LogLevel $logPolicy
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/$vhostFQDN-error.log
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/$vhostFQDN-access.log combined
|
||||||
|
|
||||||
|
# Politique vis a vis des moteurs de recherche
|
||||||
|
Use $indexingConf
|
||||||
|
|
||||||
|
# Configuration de l'accessibilite du virtualhost (public, interne, restreint)
|
||||||
|
<Location />
|
||||||
|
Use $accessPolicy
|
||||||
|
</Location>
|
||||||
|
ProxyRequests Off
|
||||||
|
ProxyVia Off
|
||||||
|
ProxyPreserveHost On
|
||||||
|
ProxyPass /rp_ressources !
|
||||||
|
ProxyPass /rp_maintenance !
|
||||||
|
ProxyPass /balancer-manager !
|
||||||
|
ProxyPass / $protoDest://$urlDest/
|
||||||
|
ProxyPassReverse / $protoDest://$vhostFQDN/
|
||||||
|
# Configuration du chemin vers la page de status du load balancer
|
||||||
|
<Location "/balancer-manager">
|
||||||
|
SecRuleEngine off
|
||||||
|
SetHandler balancer-manager
|
||||||
|
Use InternalAdminAccessPolicy
|
||||||
|
</Location>
|
||||||
|
# Configuration du chemin vers les ressources reverse proxy
|
||||||
|
<Location "/rp_ressources">
|
||||||
|
SecRuleEngine off
|
||||||
|
Use OpenAccessPolicy
|
||||||
|
</Location>
|
||||||
|
# Definition des pages d'erreur
|
||||||
|
Use ErrorDocumentPages
|
||||||
|
# Gestion de la page de maintenance
|
||||||
|
Use CheckMaintenancePage $vhostFQDN
|
||||||
|
</Macro>
|
||||||
|
|
||||||
|
|
||||||
# Redirige un domaine http vers https
|
# Redirige un domaine http vers https
|
||||||
<Macro vhost_redirect_http-https $domain>
|
<Macro vhost_redirect_http-https $domain>
|
||||||
|
@ -236,27 +273,10 @@ Use vhost_redirect_http-https $vhostFQDN
|
||||||
$ENV{'PERL_CONF_DEBUG'} and print "------- Generation du vhosts $vhostFQDN -------\n";
|
$ENV{'PERL_CONF_DEBUG'} and print "------- Generation du vhosts $vhostFQDN -------\n";
|
||||||
</Perl>
|
</Perl>
|
||||||
|
|
||||||
# Definition du virtualhost
|
Use ProxyCommon $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf
|
||||||
ServerName $vhostFQDN
|
|
||||||
DocumentRoot "/var/www/html"
|
|
||||||
|
|
||||||
# Configuration SSL avec le bon certificat
|
|
||||||
# Include conf.patterns.d/01_ssl_$cert.conf
|
|
||||||
SSLEngine on
|
SSLEngine on
|
||||||
|
|
||||||
# Niveau de log souhaite
|
|
||||||
LogLevel $logPolicy
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/$vhostFQDN-error.log
|
|
||||||
CustomLog ${APACHE_LOG_DIR}/$vhostFQDN-access.log combined
|
|
||||||
|
|
||||||
# Politique vis a vis des moteurs de recherche
|
|
||||||
Use $indexingConf
|
|
||||||
|
|
||||||
# Configuration de l'accessibilite du virtualhost (public, interne, restreint)
|
|
||||||
<Location />
|
|
||||||
Use $accessPolicy
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
# Inclusion de la configuration additionnelle
|
# Inclusion de la configuration additionnelle
|
||||||
<Perl>
|
<Perl>
|
||||||
my $dir=$ENV{"$vhostFQDN"};
|
my $dir=$ENV{"$vhostFQDN"};
|
||||||
|
@ -268,35 +288,10 @@ Use vhost_redirect_http-https $vhostFQDN
|
||||||
}
|
}
|
||||||
</Perl>
|
</Perl>
|
||||||
|
|
||||||
# Configuration du chemin vers la page de status du load balancer
|
|
||||||
<Location "/balancer-manager">
|
|
||||||
SecRuleEngine off
|
|
||||||
SetHandler balancer-manager
|
|
||||||
Use InternalAdminAccessPolicy
|
|
||||||
</Location>
|
|
||||||
# Configuration du chemin vers les ressources reverse proxy
|
|
||||||
<Location "/rp_ressources">
|
|
||||||
SecRuleEngine off
|
|
||||||
Use OpenAccessPolicy
|
|
||||||
</Location>
|
|
||||||
# Configuration de la fonction reverse proxy
|
|
||||||
Use ProxyCommon
|
|
||||||
ProxyPass /rp_ressources !
|
|
||||||
ProxyPass /rp_maintenance !
|
|
||||||
ProxyPass /balancer-manager !
|
|
||||||
ProxyPass / $protoDest://$urlDest/
|
|
||||||
ProxyPassReverse / $protoDest://$vhostFQDN/
|
|
||||||
|
|
||||||
<If "'$protoDest' == 'http'">
|
<If "'$protoDest' == 'http'">
|
||||||
RequestHeader set X-Forwarded-Proto "https"
|
RequestHeader set X-Forwarded-Proto "https"
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
# Definition des pages d'erreur
|
|
||||||
Use ErrorDocumentPages
|
|
||||||
|
|
||||||
# Gestion de la page de maintenance
|
|
||||||
Use CheckMaintenancePage $vhostFQDN
|
|
||||||
|
|
||||||
# Gestion mod_security et inclusion des exceptions
|
# Gestion mod_security et inclusion des exceptions
|
||||||
<IfModule mod_security2.c>
|
<IfModule mod_security2.c>
|
||||||
SecRuleEngine $modsecurityStatus
|
SecRuleEngine $modsecurityStatus
|
||||||
|
@ -328,22 +323,7 @@ Use vhost_redirect_http-https $vhostFQDN
|
||||||
$ENV{'PERL_CONF_DEBUG'} and print "------- Generation du vhosts $vhostFQDN -------\n";
|
$ENV{'PERL_CONF_DEBUG'} and print "------- Generation du vhosts $vhostFQDN -------\n";
|
||||||
</Perl>
|
</Perl>
|
||||||
|
|
||||||
# Definition du virtualhost
|
Use ProxyCommon $vhostFQDN $protoDest $urlDest $logPolicy $accessPolicy $indexingConf
|
||||||
ServerName $vhostFQDN
|
|
||||||
DocumentRoot "/var/www/html"
|
|
||||||
|
|
||||||
# Niveau de log souhaite
|
|
||||||
LogLevel $logPolicy
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/$vhostFQDN-error.log
|
|
||||||
CustomLog ${APACHE_LOG_DIR}/$vhostFQDN-access.log combined
|
|
||||||
|
|
||||||
# Politique vis a vis des moteurs de recherche
|
|
||||||
Use $indexingConf
|
|
||||||
|
|
||||||
# Configuration de l'accessibilite du virtualhost (public, interne, restreint)
|
|
||||||
<Location />
|
|
||||||
Use $accessPolicy
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
# Inclusion de la configuration additionnelle
|
# Inclusion de la configuration additionnelle
|
||||||
<Perl>
|
<Perl>
|
||||||
|
@ -356,35 +336,10 @@ Use vhost_redirect_http-https $vhostFQDN
|
||||||
}
|
}
|
||||||
</Perl>
|
</Perl>
|
||||||
|
|
||||||
# Configuration du chemin vers la page de status du load balancer
|
|
||||||
<Location "/balancer-manager">
|
|
||||||
SecRuleEngine off
|
|
||||||
SetHandler balancer-manager
|
|
||||||
Use InternalAdminAccessPolicy
|
|
||||||
</Location>
|
|
||||||
# Configuration du chemin vers les ressources reverse proxy
|
|
||||||
<Location "/rp_ressources">
|
|
||||||
SecRuleEngine off
|
|
||||||
Use OpenAccessPolicy
|
|
||||||
</Location>
|
|
||||||
# Configuration de la fonction reverse proxy
|
|
||||||
Use ProxyCommon
|
|
||||||
ProxyPass /rp_ressources !
|
|
||||||
ProxyPass /rp_maintenance !
|
|
||||||
ProxyPass /balancer-manager !
|
|
||||||
ProxyPass / $protoDest://$urlDest/
|
|
||||||
ProxyPassReverse / $protoDest://$vhostFQDN/
|
|
||||||
|
|
||||||
<If "'$protoDest' == 'https'">
|
<If "'$protoDest' == 'https'">
|
||||||
RequestHeader set X-Forwarded-Proto "http"
|
RequestHeader set X-Forwarded-Proto "http"
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
# Definition des pages d'erreur
|
|
||||||
Use ErrorDocumentPages
|
|
||||||
|
|
||||||
# Gestion de la page de maintenance
|
|
||||||
Use CheckMaintenancePage $vhostFQDN
|
|
||||||
|
|
||||||
# Gestion mod_security et inclusion des exceptions
|
# Gestion mod_security et inclusion des exceptions
|
||||||
<IfModule mod_security2.c>
|
<IfModule mod_security2.c>
|
||||||
SecRuleEngine $modsecurityStatus
|
SecRuleEngine $modsecurityStatus
|
||||||
|
|
Loading…
Reference in a new issue