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 порта сервера и закомментирую команду перезаписи, он начнет работать. Пожалуйста, дайте мне знать, если я что-то здесь упускаю.
Благодарю.