Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Nginx: Можно ли смонтировать отдельный сервис на URL, к которой уже примонтирован другой сервис

Анатолий Меркулов Ученик (174), на голосовании 7 месяцев назад
Что я хочу:
У меня есть сервис, работающий на порту 2024, он обрабатывает запросы на agpu.merqury.fun , но в нем нет обработки путей /database/pgadmin/**
На эти пути я хочу повесить другой сервис на порту 5050, но при этом он ничего не знает о том, что на него будут приходить запросы по путям /database/pgadmin/**, это можно решить просто рерайтом, но встает другая проблема:
Когда сервис на порту 5050 перенаправляет меня например на путь /login, то этот запрос из-за того что не начинается на /database/pgadmin/, летит на сервис на порту 2024

Вопрос, можно ли как нибудь это решить?

Моя nginx конфигурация
 server {  
listen 443 ssl;

rewrite ^$ /;

add_header 'Access-Control-Allow-Origin' '*';

ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/private.key;

server_name agpu.merqury.fun;

location / {
proxy_pass http://195.43.142.74:2024;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /database/pgadmin {
rewrite ^/database/pgadmin$ / break;
rewrite ^/database/pgadmin(.*)$ $1 break;

proxy_pass http://195.43.142.74:5050;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Голосование за лучший ответ
Похожие вопросы