Nginx - перенаправить запрос на другой порт для определенного URL в 443 блоке сервера

Я хочу, чтобы запросы на " https://www.example.com/api/***" отправлялись на порт 8000. Сервер nodejs работает на порту 8000, и я хочу отправлять эти запросы API на этот сервер. Мой текущий конфигурационный файл

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name app.example.com www.app.example.com;

       rewrite     ^(.*)   https://app.example.com$1 permanent;

}

server {
        # SSL configuration
        #
         listen 443 ssl;
        server_name app.example.com;
        ssl_certificate /home/user/example.com.chained.crt;
        ssl_certificate_key /home/user/private-key.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    location /api { 
        proxy_pass http://localhost:5000/;
    }

        root /home/ubuntu/adqore-frontend/dist/Adqore;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
            try_files $uri $uri/ /index.html;
        }

Я пытался использовать этот блок местоположения

location /api { 
        proxy_pass http://localhost:5000/;
    }

но это не работает Когда я тестирую API от почтальона, он говорит, что не найден. Если я переместу этот блок местоположения на блок 80 порта сервера и закомментирую команду перезаписи, он начнет работать. Пожалуйста, дайте мне знать, если я что-то здесь упускаю.

Благодарю.

0 ответов

Другие вопросы по тегам