【发布时间】:2021-12-08 11:13:12
【问题描述】:
我的带有 Angular 前端和 springboot 后端的应用程序正在尝试从 Angular 前端对其中一个 PayPal API 进行 REST POST 调用。该应用程序部署为 GCP VM 实例中的 Docker 容器。如果我不打开禁用网络安全的broser,我会收到错误
"Access to XMLHttpRequest at 'https://pilot-payflowpro.paypal.com/' from origin 'http://myserverip' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource."
我在 SO 和其他通过在 httpd.conf / .htaccess 文件中添加标题的问题中看到了很多答案。但我没有这两个文件。我尝试将标头添加到 Dockerfile 并将命令添加到 docker-compose.yaml 文件。还尝试在角度代理配置文件中添加结束 URL。一个都没用。
有没有办法在 docker 配置文件或服务器本身中启用 CORS。 docker-compose.yml
image: docker.image.link
privileged: true
ports:
- '80:8080'
restart: 'no'
volumes:
- '/var/sftp/upload:/usr/share/invoice/invoiceFile'
environment:
- SPRING_PROFILES_ACTIVE=docker
- DB_CONN_STRING=jdbc:postgresql:url
- DB_USER=postgres
- DB_PASS=postgres
- HOST_NAME=hostname
- SMTP_HOST=smtphost
- SMTP_PORT=25
- SMTP_AUTH_TRUE_FALSE=false
Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
ADD target/${JAR_FILE} /usr/share/application.jar
ADD template/ /usr/share/template
VOLUME /tmp
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/usr/share/application.jar"]
【问题讨论】:
标签: angularjs docker-compose paypal dockerfile payflowpro