ok, cette tâche devrait être simple mais je n'arrive pas à le faire fonctionner. Je voudrais avoir un sous-dossier après mon nom de domaine (en fait après l'IP de ce nom de domaine), qui redirige vers un port spécifique sur le même serveur. Essentiellement, je veux me débarrasser d'avoir à utiliser de nombreux ports.
Voici ma config nginx pour ça
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $Host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
Donc, lors de l'accès à aaa.bbb.ccc.ddd/app2, je voudrais que cela se résout en http: //aaa.bbb.ccc.ddd: 8001 .
Cela peut être peut-être si compliqué. Qu'est-ce que j'oublie ici?
Merci Pat
Étant donné que vous avez marqué cela comme une question de proxy inverse, je suppose que vous voulez dire que vous souhaitez proxy de la demande afin que l'utilisateur ne voie que http://aaa.bbb.ccc.ddd/app2
URL dans son navigateur.
Vous pouvez changer votre bloc location
en ceci:
location ~/app2(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $Host;
proxy_pass http://aaa.bbb.ccc.ddd:8001$1;
}
Ici, nous capturons la partie URI après /app2
à $1
variable, et utilisez-la dans proxy_pass
directive.