Nous devons maintenant concevoir un serveur de passerelle externe pour agir en tant qu'agent pour de nombreux autres services au sein de l'entreprise.
La méthode actuellement utilisée est le proxy inverse nginx.
Le code dans Nginx.conf est le suivant
location ^~ /services/ {
...
proxy_pass 真实uri
...
}
Des problèmes peuvent survenir lorsque le code HTML d'un certain service contient un accès aux ressources ou accède à un répertoire absolu.
Par exemple, si vous souhaitez proxy le site Web abc 10.10.10.10/
Le code HTML du site Web contient l'accès à la ressource /static/a.jpg.
Lorsqu'un utilisateur accède à mon serveur de passerelle, les méthodes appelées sont
Get www.xxx.com/services/abc
Get www.xxx.com/static/a.jpg À ce stade, l'obtention échouera.
La solution temporaire existante consiste à ajouter un proxy pour le répertoire absolu du site Web abc dans nginx.conf, comme suit
location /static/ {
proxy_pass http://10.10.10.10/static/;
}
Mais s'il y a trop de services, il y aura des conflits.
Comment résoudre le problème ?
Merci pour votre navigation.
Pourquoi ne pas configurer plusieurs sous-domaines abc.xxx.com