Я немного боролся с этим сейчас, но я не могу понять, что это правильно.У меня есть небольшие приложения 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, но тоже не повезло.Нет, это простая ошибка, но у меня больше нет подсказок: -).