Outils pour utilisateurs

Outils du site


informatique:linux:apache

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:linux:apache [2009/03/12 10:39]
benoit
informatique:linux:apache [2018/09/06 19:10] (Version actuelle)
Ligne 190: Ligne 190:
  
  
-==== Quelques expressions régulières à connaître ==== +Les règles ​de réécriture utilisent les [[regexp|expressions régulières]]
-N’importe quel caractère : **.** +
- +
-N’importe lequel ​de cette liste de caractères : **[abcd]** +
- +
-Tout caractère non compris dans la liste (autre que a, b, c ou d) : **[^abcd]** +
- +
-Alternative,​ soit « blanc », soit « noir » : **blanc|noir** +
- +
-Une ou N occurrence(s) de l’expression qui précède (N > 1) : **+** +
- +
-Zéro ou N occurrence(s) de l’expression qui précède (N>0) : ***** +
- +
-Groupement permettant l’utilisation des références inverses ($1,... $n) : **^** +
- +
-Délimiter une alternative comme dans (blanclnoir) : **^** +
- +
-Ancre de début de ligne : **^** +
- +
-Ancre de fin de ligne : **$** +
- +
  
 ==== Quelques drapeaux (ou flags) utiles ==== ==== Quelques drapeaux (ou flags) utiles ====
Ligne 291: Ligne 270:
   </​Directory>​   </​Directory>​
  
 +Admettons la configuration suivante sur le site **www.zikossworld.com**,​ on force toutes les urls **http://​www.zikossworld.com/​dokuwiki** à être ré-ecrites en **https://​wiki.zikossworld.com/​** :
 +  <​Directory /​var/​www/​test>​
 +        RewriteEngine On
 +        RewriteCond %{SERVER_PORT} !^443$
 +        RewriteCond %{REQUEST_URI} ^/​dokuwiki(.*)
 +        RewriteRule .* https://​wiki.zikossworld.com/​%{REQUEST_URI} [QSA,​R=301,​L]
 +  </​Directory>​
  
 +Si on veux juste sécuriser en HTTPS la partie **/admin** de son site :
 +  <​Directory /​var/​www/​test>​
 +        RewriteEngine On
 +        RewriteCond %{SERVER_PORT} !^443$
 +        RewriteCond %{REQUEST_URI} ^/admin(.*)
 +        RewriteRule .* https://​%{HTTP_HOST}%{REQUEST_URI} [QSA,​R=301,​L]
 +  </​Directory>​
  
  
Ligne 323: Ligne 316:
     ProxyVia On     ProxyVia On
   </​IfModule>​   </​IfModule>​
 +
 +
 +==== Proxy en vue d'une redirection de flux vers un ou plusieurs Tomcat ====
 +
 +Pour relayer simplement la requêtes vers un tomcat en http
 +
 +  ProxyPass /test http://​10.0.0.2:​8383/​test
 +  ProxyPassReverse /test http://​10.0.0.2:​8383/​test
 +  # Il est parfois nécessaire d'​ajouter la directive ci-dessous s'il y a une gestion de cookies sur le site.
 +  ProxyPassReverseCookieDomain 10.0.0.2:​8383 www.site.com
 +
 +Pour relayer vers plusieurs Tomcat avec équilibrage de charge :
 +
 +  <Proxy balancer://​tomcatservers>​
 +    BalancerMember http://​10.0.0.2:​8383 retry=60
 +    BalancerMember http://​10.0.0.3:​8384 retry=60
 +  </​Proxy>​
 +  ​
 +  <​Location /test>
 +    Allow From All
 +    ProxyPass balancer://​tomcatservers/​test stickysession=JSESSIONID nofailover=off
 +  </​Location>​
 +
 +
 +
 +
  
  
Ligne 328: Ligne 347:
 ===== SSL ===== ===== SSL =====
  
-=== Création du certificat SSL ===+ 
 + 
 + 
 +==== Création du certificat SSL ====
  
 Se positionner dans le répertoire de configuration apache : Se positionner dans le répertoire de configuration apache :
   cd /​etc/​httpd/​conf/​   cd /​etc/​httpd/​conf/​
  
-Lancer la commande pour générer ​la clé privée RSA : +Pour générer ​le certificat voir [[openssl#​creer_un_certificat_ssl|Créer un certificat SSL avec OpenSSL]]
-  ​openssl ​genrsa -out server.key 1024+
  
-A partir de notre clé privée nous allons créer notre fichier de demande de signature (Certificate Signing Request) : 
-  openssl req -new -key server.key -out signature-dev.ina.fr.csr 
  
-Auto-signer la clé et créer le certificat ​ : +==== Configuration dans apache ​====
-  openssl x509 -req -days 365 -in signature-dev.ina.fr.csr -signkey server.key -out server.crt +
- +
-=== Configuration dans apache ===+
  
   Listen 443   Listen 443
Ligne 349: Ligne 365:
   ​   ​
   SSLPassPhraseDialog ​ builtin   SSLPassPhraseDialog ​ builtin
 +  ​
   SSLSessionCache ​       "​shmcb:/​var/​log/​httpd/​ssl_scache(512000)"​   SSLSessionCache ​       "​shmcb:/​var/​log/​httpd/​ssl_scache(512000)"​
   SSLSessionCacheTimeout ​ 300   SSLSessionCacheTimeout ​ 300
 +  ​
   SSLMutex ​ "​file:/​var/​log/​httpd/​ssl_mutex"​   SSLMutex ​ "​file:/​var/​log/​httpd/​ssl_mutex"​
 +  ​
 +  <​VirtualHost *:443>
 +    DocumentRoot "/​ap01/​sigfod1/​appl/​httpd-2.2.6/​htdocs"​
 +    ServerName www.example.com:​443
 +    ServerAdmin you@example.com
 +    ErrorLog "/​ap01/​sigfod1/​appl/​httpd-2.2.6/​logs/​error_log"​
 +    TransferLog "/​ap01/​sigfod1/​appl/​httpd-2.2.6/​logs/​access_log"​
 +    SSLEngine on
 +    SSLCipherSuite ALL:​!ADH:​!EXPORT56:​RC4+RSA:​+HIGH:​+MEDIUM:​+LOW:​+SSLv2:​+EXP:​+eNULL
 +    SSLCertificateFile "/​etc/​httpd/​conf/​server.crt"​
 +    SSLCertificateKeyFile "/​etc/​httpd/​conf/​server.key"​
 +    CustomLog "/​var/​log/​httpd/​ssl_request_log"​ \
 +          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"​%r\"​ %b"
 +  </​VirtualHost>​
 +
 +
 +===== Charset =====
 +Pour afficher correctement les accents dans Apache, ajouter les lignes suivantes ​
 +
 +Pour l'​UTF-8 :
 +  AddDefaultCharset UTF-8
 +  IndexOptions Charset=UTF-8
 +
 +Pour l'​ISO-8859-1
 +  Affichage par défaut ​
 +  AddDefaultCharset ​ ISO-8859-1
 +  IndexOptions Charset=ISO-8859-1
 +
 +Note :!: : **IndexOptions** permet d'​afficher correctement les accents lorsqu'​Apache liste un répertoire.
 +
informatique/linux/apache.1236850764.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)