NGINX сопоставляет несколько путей с прокси-проходом

Я пытаюсь передать несколько местоположений прокси-серверу, но я просто не могу заставить его работать. Может ли кто-нибудь указать мне в правильном направлении?

Это то, что у меня есть до сих пор:

    location / {
            try_files $uri $uri/ /index.html =404
            gzip on;
    }

    location ~* ^/(login|callback|ph|ch|th) {
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host $host;
            proxy_cache_bypass $http_upgrade;

            proxy_pass http://127.0.0.1:4002;
    }

Как вы, наверное, понимаете, я пытаюсь пройти

  • /авторизоваться

  • /перезвонить

  • /ph

  • /ch

  • /th

на локальный хост через порт 4002, но он их не пропускает?

EDIT: Если это поможет. Я думаю, что мой интерфейс угоняет путь-местоположение? Хотя не уверен.


person Mobilpadde    schedule 29.08.2018    source источник


Ответы (1)


Все запросы начинаются с /, поэтому ваше местоположение должно выглядеть так:

location ~* ^/(login|callback|ph|ch|th) {

если вы используете символ начальной строки.

person mindfl    schedule 29.08.2018
comment
Ой, это было из теста, который я сделал. Исправил в вопросе, извините! - person Mobilpadde; 30.08.2018
comment
Если у вас возникла та же проблема после исправления, то, я думаю, у вас проблема с вашим приложением. Покажите нам всю конфигурацию nginx, пожалуйста. - person mindfl; 30.08.2018