Nginx / proxy_pass : impossible de faire fonctionner un sous domaine

Nginx / proxy_pass : impossible de faire fonctionner un sous domaine - Logiciels - Linux et OS Alternatifs

Marsh Posté le 20-08-2014 à 11:38:45    

Hello tout le monde,
 
J'ai un nginx qui fonctionne en production pour faire cache et fonctionne très bien depuis longtemps.
 
Hier on m'a demandé de placer un sous domaine, et je me suis dit "oh bah ca va être simple cette histoire", mais wallou.
 
En gros
 
client -> server nginx port 80 -> apache 8080
 
Et lorsque j'ajoute un sous-domaine ni le domaine principal ne réponds, ni le sous-domaine.
 
Voici la conf :
 

server {
        listen 80;
        server_name www.toto.org;
 
        access_log /var/log/nginx/xxx_www_access.log;
        error_log /var/log/nginx/xxx_www_error.log;
 
        location / {
 
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://localhost:8080/;
 
 
        }
}
 
server {
        listen 80;
 
        server_name sub.toto.org;
 
        access_log /var/log/nginx/xxx_zzz_access.log;
        error_log /var/log/nginx/xxx_zzz_error.log;
 
        location / {
 
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://localhost:8080/;
 
        }
}


 
Lorsque je fais une requete directement sur l'apache avec le port 8080 les deux directory répondent très bien. Donc ca ne vient pas de l'apache, mais clairement de l'nginx.
 
Merci pour votre aide  :hello:
 
edit : précision j'ai viré toute la partie cache de la conf pour faire au plus minimaliste afin de faire fonctionner et de comprendre le dysfonctionnement.


Message édité par pervmaster le 20-08-2014 à 11:40:12
Reply

Marsh Posté le 20-08-2014 à 11:38:45   

Reply

Marsh Posté le 24-08-2014 à 11:04:11    

en fait tout ton domaine au niveau 2 est redirigé vers la conf apache.
 
Tu devrais simplifier ta conf nginx :
 
server {  
        listen 80;  
 
        server_name .toto.org;  
 
        access_log /var/log/nginx/toto.org_access.log;  
        error_log /var/log/nginx/toto.org_error.log;  
 
        location / {  
 
        proxy_set_header X-Real-IP  $remote_addr;  
        proxy_set_header Host $host;  
        proxy_pass http://localhost:8080/;  
 
        }  
}  
 
 
et tes sous domaines via la conf apache :
 
<VirtualHost *:8080>
        ServerAdmin webmaster@localhost
        ServerName toto.org
        ServerAlias www.toto.org
        DocumentRoot /var/www/toto.org/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/toto.org/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/www.toto.org.error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/www.toto.org.access.log combined
 
</VirtualHost>
 
<VirtualHost *:8080>
        ServerAdmin webmaster@localhost
        ServerName sub.toto.org
        DocumentRoot /var/www/toto.org/sub
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/toto.org/sub>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/sub.toto.org.error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/sub.toto.org.access.log combined
 
</VirtualHost>


Message édité par l4nkou le 24-08-2014 à 11:04:53

---------------
Les avis, c'est comme les anus, tout le monde en a un.
Reply

Marsh Posté le 31-08-2014 à 16:58:43    

Ca marche !
 
Merci beaucoup pour ton aide :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed