Ceci est une ancienne révision du document !
Cohabitation apache2 et nginx
Je souhaiterais mettre en place un serveur apache2 avec un site web pour le faire fonctionner en parallèle avec par exemple :
- gitlab.monurl.fr pour gitlab sous nginx
- et web.monurl.fr pour mon site web sous apache
!!! Cela devrait être possible si on passe par apache pour rediriger les requêtes qui sont pour gitlab.monurl.fr.
serveur | nginx | apache |
---|---|---|
site | gitlab.monurl.fr | web.monurl.fr |
DNS → IP | 80.20.30.4 | 80.20.30.4 |
Hypothèses:
- Il y a une entrée DNS gitlab.monurl.fr (ex: gitlab.monurl.fr → 80.20.30.4)
- Il y a une entrée DNS web.monurl.fr (ex: web.monurl.fr → 80.20.30.4)
- Le serveur NGinx écoute sur le port 8080
- Le serveur Apache écoute sur le port 80
- Le site web.monurl.fr est configuré dans un virtualhost.
Sur la configuration apache, il faut activer le module rewrite.
Ensuite, créez une redirection pour les requêtes http qui sont pour gitlab.monurl.fr, vers l'url suivante : http://gitlab.monurl.fr:8080/
Exemple de configuration pour le virtualhost web.monurl.fr:
- web.monurl.fr.com
<VirtualHost *:80> ServerName web.monurl.fr ServerAlias web.monurl.fr gitlab.monurl.fr # ------------------------------------------- RewriteEngine On RewriteCond %{HTTP_HOST} !^gitlab\.monurl\.fr [NC] RewriteRule ^/(.*) http://gitlab.monurl.fr:8080/$1 [L,R] #--------------- # Ta configuration pour ton site apache web.monurl.fr #--------------- </VirtualHost>
ps: Je n'ai pas testé ma proposition. Ce n'est qu'une idée de travail.