У меня есть две капли DigitalOcean (капли - это просто виртуальный процессор, как AWS EC2), одна для моего Node Backend, а другая для моего React-интерфейса.Бэкэнд узла запущен и работает без проблем на api.mydomain.com
, в то время как мой интерфейс работает на mydomain.com
.
Моя конфигурация маршрута бэкэнда - /api/users
, /api/messages
и т. Д. Проблема возникает в тот момент, когда я делаю запросы к бэкэнду: я хочу нажать на URL api.mydomain.com/api/users
или api.mydomain.com/api/messages
.
Однако, он поражает mydomain.com/api/users
или mydomain.com/api/messages
.Очевидно, он выдает ошибку, так как на этих маршрутах ничего не живет.
Я думаю, вы уже видите то, что я ищу: как мне делать запросы к нужному URL?
Немного предыстории: 1. Я использую Nginx (одна из моих догадок о том, почему он не работает, это то, что файл конфигурации имеет неправильные настройки).2. Другое предположение, что мой static.json
файл во внешнем интерфейсе неверен.
Это мой /etc/nginx/sites-available/default
файл:
upstream api.mydomain.io {
server api.mydomain.io;
}
server {
listen 80;
server_name mydomain.io www.mydomain.io;
root /var/www/my-project-name/build;
index index.html;
location / {
#proxy_pass http://123.456.789:80; //Not the real IP obviously (referring to the frontend IP)
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection 'upgrade';
#proxy_set_header Host $host;
#proxy_cache_bypass $http_upgrade;
#proxy_redirect off;
try_files $uri /index.html;
}
location /api/ {
proxy_pass https://api.mydomain.io;
}
}
Это мой static.json
файл:
"root":"build/",
"routes": {
"/**":"index.html"
},
"proxies":{
"/api":{
"origin":"https://api.mydomain.io/api"
}
}
}