@Habr_Agent

Как изменить url при запросе на сервер nginx?

У меня приложение React висит на порту 8080, nginx я слушает приложение на 5000 порту.

Вопрос:
Как я могу узнать когда мой url начинается с определенной строки, допустим я делаю запрос из приложения localhost:5000/${определенная строка}/auth/sign-in И так далее
и перенаправить этот запрос на свой сервер пример: 198.12.123.42.23/auth/sign-in И так далее
меняя proxy_pass чтобы не было этой строки и заменяя host на 198.12.123.42.23

server {
    listen 5000;
    server_name server.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location //nlg-core-web-1.0/ {
        proxy_pass http://178.154.200.74/;
        proxy_set_header Host $host;
    }
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
}


то что я написал
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@dodo512
Например, localhost:5000/abcd/auth/sign-in.
location = /abcd/auth/sign-in {
    proxy_pass http://198.12.123.42.23/auth/sign-in;
}


location ~ ^/abcd/auth/sign-in$ {
    rewrite ^ /auth/sign-in break;
    
    proxy_pass http://198.12.123.42.23;
}


location ~ ^/abcd(/auth/sign-in)$ {
    proxy_pass http://198.12.123.42.23$1;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы