@alebastr5

Как настроить обратный прокси на nginx, чтобы автоматом подставлялся префикс?

У меня есть 2 сервиса к которым я хочу подключаться через обратный прокси:
https://mydomain.org/service1
https://mydomain.org/service2

Если устанавливаю proxy_pass на location "/" при входе сервис возвращает страницу .../sign, которая подставляется к URI. Т.е. возвращается https://mydomain.org/sign сервис открывается. Если устанавливаю location "/service1" и пробую войти через адрес https://mydomain.org/service1, попадаю на https://mydomain.org/sign - пустая страница, при этом если вручную набрать https://mydomain.org/service1/sign то откроется страница авторизации сервиса
как настроить nginx чтобы префикс /service1 подставлялся сам

Мой конфиг nginx
user nginx;
worker_processes    auto;
events { worker_connections 1024; }
http {
    server {
        listen 80 default_server;
        server_name mydomain.org;
        return 301 https://mydomain.org$request_uri;
    }
    server {
        server_tokens off;
        listen 443 ssl;
        server_name mydomain.org;
        ssl_certificate /etc/nginx/certs/fullchain.pem;
        ssl_certificate_key /etc/nginx/certs/privkey.pem;
        ssl_prefer_server_ciphers on;
        root    /usr/share/nginx/html;
        include /etc/nginx/mime.types;
        proxy_buffering  on;
        proxy_buffer_size 8k;
        proxy_buffers 8 8k;
        location / {
            try_files $uri $uri/ /index.html;
        }
        location /service1 {
                proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
                proxy_pass https://192.168.0.1/;
        }
        location /service2 {
                proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
                proxy_pass https://192.168.0.2/;
        }
        gzip            on;
        gzip_vary       on;
        gzip_http_version  1.0;
        gzip_comp_level 5;
        gzip_types
                        application/atom+xml
                        application/javascript
                        application/json
                        application/rss+xml
                        application/vnd.ms-fontobject
                        application/x-font-ttf
                        application/x-web-app-manifest+json
                        application/xhtml+xml
                        application/xml
                        font/opentype
                        image/svg+xml
                        image/x-icon
                        text/css
                        text/plain
                        text/x-component;
        gzip_proxied    no-cache no-store private expired auth;
        gzip_min_length 256;
        gunzip          on;
    }
}
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы