Приложение Angular 7 NGINX proxy_pass - докеризированный - PullRequest
0 голосов
/ 18 февраля 2019

Я немного боролся с этим сейчас, но я не могу понять, что это правильно.У меня есть небольшие приложения Angular 7, которые я запускаю на сервере NGINX в док-контейнере.Приложение выполняет два вызова к внутренним серверам (которые я не контролирую).Один GET и один POST звонок.Когда я запускаю приложение и звоню, я получаю некоторые ошибки CORS.Я немного посмотрел на это и обнаружил, что PROXY_PASS в nginx.conf должен быть моим другом.Тем не менее, я не получил это на работу.Либо переадресация не происходит, либо я неправильно ее настраиваю, я продолжаю получать ошибки CORS в браузере, или URL неверны.

Это звонки, которые я делаю:

/ GET https://lm -available-products.acp.foo.com / lm-productkeys / v2 / keys / documents / {docid}? Details = true

/ POST https://lm -online.acp.foo.com: 443 / LM / internL1 / online / infproducts / 2009/01

Я попробовал несколько вещей в разделе 'location' конфигурации nginx.conf(/ в конце пути, ..).Так как я делаю два разных вызова, я также не могу, но это в корне (/).

Мой dockerfile:

FROM tiangolo/node-frontend:10 as build-stage

WORKDIR /app
COPY web/hp-demo-scherm /app/
RUN ls -a
RUN npm install
COPY ./ /app/

RUN npm run build -- --output-path=./dist/out --configuration $configuration

FROM nginx:1.14.2-alpine

COPY /nginx.conf /etc/nginx/nginx.conf

COPY --from=build-stage /app/dist/out/ /usr/share/nginx/html

CMD ["nginx", "-g", "daemon off;"]

Мой nginx.conf:

worker_processes  1;

events {
  worker_connections  1024;
}

http {
  include /etc/nginx/mime.types;

  server {
    listen 8080;
    server_tokens off;
    add_header 'strict-transport-security' 'max-age=157680000 ; includeSubDomains' always;
    add_header 'X-Frame-Options' 'SAMEORIGIN' always;

    include /etc/nginx/mime.types;

    location / {
      access_log on;
      error_log on;
      root   /usr/share/nginx/html;
      index   index.html;
      try_files $uri$args $uri$args/ /index.html;

    }

    location /lm-productkeys/ {
      proxy_pass https://lm-available-products.acp.foo.com;
        proxy_hide_header 'WWW-Authenticate';
      proxy_request_buffering off;
    }

    location /LM {
      proxy_pass https://lm-online.acp.foo.com:443/LM;
        proxy_hide_header 'WWW-Authenticate';
      proxy_request_buffering off;
    }

    location ~* \.(eot|otf|ttf|woff|woff2)$ {
      root   /usr/share/nginx/html;
    }

  }

}

Iтакже попытался просто позвонить в «api» из приложения Angular и попытался передать его на полный URL, но тоже не повезло.Нет, это простая ошибка, но у меня больше нет подсказок: -).

...