Как делать запросы на api.domain.com с domain.com с помощью nginx? - PullRequest
0 голосов
/ 31 мая 2019

У меня есть две капли 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"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...