Exploitation et maintenance - Proxy inverse Nginx Tomcat
仅有的幸福
仅有的幸福 2017-05-16 17:13:23
0
4
507

Il existe deux applications jsp, les adresses d'accès locales sont les suivantes

http://127.0.0.1:8080/app1
http://127.0.0.1:8080/app2

L'accès à http://domain.com/app1 et http://domain.com/app2 peut être obtenu via la configuration suivante

server {
    listen    80;
    server_name    domain.com;
    charset    utf-8;
    location /{
        proxy_pass http://127.0.0.1:8080/;
        proxy_redirect  off;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Maintenant, je souhaite utiliser deux noms de domaine pour accéder à ces deux applications
Visitez http://127.0.0.1:8080/app1 via http://app1.domain.com
Accès via http://app2.domain.com http ://127.0.0.1:8080/app2
La configuration est la suivante

server {
    listen    80;
    server_name  app1.domain.com;
    charset utf-8;
    location /{
        proxy_pass http://127.0.0.1:8080/app1;
        proxy_redirect  off;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen    80;
    server_name  app2.domain.com;
    charset utf-8;
    location /{
        proxy_pass http://127.0.0.1:8080/app2;
        proxy_redirect  off;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Les résultats ne peuvent afficher que la page d'accueil et les ressources statiques ne peuvent pas être chargées

#我感觉应该这么写可是有语法错误
if ($uri ^/$){proxy_pass http://127.0.0.1:8080/app1;}
if ($uri ^/app1){proxy_pass http://127.0.0.1:8080/$request_uri;}

Alors, comment doit-il être configuré ?

仅有的幸福
仅有的幸福

répondre à tous(4)
迷茫

Que signifie Impossible de charger ? C'est 502 ? Ou le chemin statique dans jsp est-il erroné ?

迷茫

En fait, vous pouvez simplement vous baser sur ce qui précède. . Dans ce cas, le transfert pseudo-statique basé sur le nom de domaine de deuxième niveau conviendra. . Je n'écrirai pas les détails. Le principe est comme ça. Il faut plusieurs essais pour déterminer la méthode d'écriture.

L'idée générale est de transférer tous les .domain.com/ vers http://127.0.0.1:8080/$1/$2

阿神

Merci pour l'invitation !
Je pense qu'il est nécessaire de séparer dynamique et statique, et de laisser les js, css et images être traités par ngixn au lieu de Tomcat. La requête jsp est transmise à Tomcat pour traitement.


location ~ .*\.(jpg|js|css)$ 
{ 
root /home/www/image/;
}
世界只因有你

Cher. . . Si votre racine n'est pas écrite, comment nginx peut-il vous fournir le fichier proxy ? C'est bien à l'étage.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal