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 [2008/12/31 15:40]
benoit
informatique:linux:apache [2018/09/06 19:10] (Version actuelle)
Ligne 126: Ligne 126:
  
  
-==== Création d'un VirtualHost ====+ 
 +==== Création d'un VirtualHost ​par nom ====
 Dans cet exemple nous allons 2 sites : Dans cet exemple nous allons 2 sites :
   * www.siteweb1.com   * www.siteweb1.com
Ligne 189: 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 290: 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 318:
  
  
 +==== 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>​
 +
 +
 +
 +
 +
 +
 +
 +===== SSL =====
 +
 +
 +
 +
 +==== Création du certificat SSL ====
 +
 +Se positionner dans le répertoire de configuration apache :
 +  cd /​etc/​httpd/​conf/​
 +
 +Pour générer le certificat voir : [[openssl#​creer_un_certificat_ssl|Créer un certificat SSL avec OpenSSL]]
 +
 +
 +==== Configuration dans apache ====
 +
 +  Listen 443
 +  AddType application/​x-x509-ca-cert .crt
 +  AddType application/​x-pkcs7-crl ​   .crl
 +  ​
 +  SSLPassPhraseDialog ​ builtin
 +  ​
 +  SSLSessionCache ​       "​shmcb:/​var/​log/​httpd/​ssl_scache(512000)"​
 +  SSLSessionCacheTimeout ​ 300
 +  ​
 +  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.1230734433.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)