Angular 7应用程序NGINX proxy_pass配置-dockerized

时间:2019-02-17 22:58:57

标签: angular docker nginx nginx-reverse-proxy

我已经为此苦苦挣扎了一段时间,但是我似乎无法正确地做到这一点。我在Docker容器中的NGINX服务器上运行了一个小的Angular 7应用程序。该应用程序对后端服务器进行了两次调用(我无法控制)。一次GET和一次POST调用。当我启动应用程序并拨打电话时,我收到一些CORS错误。我对此进行了调查,发现nginx.conf中的PROXY_PASS应该是我的朋友。但是,我还没有做到这一点。 要么没有选择重定向,要么我配置错误,在浏览器中不断收到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

我在配置的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;
    }

  }

}

我还尝试从Angular App调用“ api”,并尝试将其代理到完整的URL,但也没有运气。毫无疑问,这是一个简单的错误,但是我没有更多的线索了:-)。

0 个答案:

没有答案