Развертывание приложения Angular + Django Api с использованием Nginx - PullRequest
0 голосов
/ 19 июня 2019

У меня есть веб-приложение, разработанное с использованием Angular6 + Django rest framework и размещенное в aws. Приложение Angular развернуто на моем веб-сервере, который является общедоступным (ip: 3.xx.xx.xx), а Django Api развернут на моем сервере приложений, который является частным (ip: 10.xx.xx.xx) Я использую nginx для обратного прокси на сервер приложений с веб-сервера. Из углового приложения я формирую конечные точки для вызова функций API. При нажатии на регистрацию, запрос должен сделать вызов API.

Угловой URL: http://3.xx.xx.xx:8083/signup

Конечная точка API: http://10.xx.xx.xx:8081/api/customer/company_registration/

Но я получаю ошибку ниже, когда нажимаю на кнопку регистрации:

    POST http://10.xx.xx.xx:8081/api/customer/company_registration/ 
      net::ERR_CONNECTION_TIMED_OUT
    ERROR HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: 
     "Unknown Error", url: null, ok: false, …}
    error: ProgressEvent {isTrusted: true, lengthComputable: false, 
    loaded: 0, total: 0, type: "error", …}
    headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, 
    headers: Map(0)}
    message: "Http failure response for (unknown url): 0 Unknown Error"
     name: "HttpErrorResponse"
     ok: false
     status: 0
     statusText: "Unknown Error"
     url: null
     __proto__: HttpResponseBase

Это конфиг nginx, который я пробовал:

    server {
     listen                    8083;
     server_name               3.xx.xx.xx;
     client_max_body_size      20m;
     access_log                /var/log/nginx/access.log;
     error_log                 /var/log/nginx/error.log;

    location / {
       root   /usr/share/nginx/html/;
       index  index.html;
     }
    }

    server {
     listen                 8081;
     server_name            10.xx.xx.xx;
     client_max_body_size      20m;
     access_log                /var/log/nginx/access.log;
     error_log                 /var/log/nginx/error.log;
     # Handles proxying to Django API
  location /api/ {
          #rewrite ^/api(.*) $1 break;
   add_header 'Access-Control-Allow-Origin' "$http_origin" always;
   add_header 'Access-Control-Allow-Credentials' 'true' always;
   add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, 
             DELETE, OPTIONS' always;
   add_header 'Access-Control-Allow-Headers' 
        'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified- 
         Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
   proxy_set_header Host $http_host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_pass http://10.xx.xx.xx:8081;
   }
 }

У меня нет большого опыта работы с nginx. Ценю твою помощь. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...