Angular docker无法访问后端服务容器
我有一个angular SPA和一个后端服务,它们都是通过docker容器部署的。我似乎无法让angular应用程序连接到后端服务 在angular容器中使用Nginx,配置如下Angular docker无法访问后端服务容器,angular,docker,nginx,Angular,Docker,Nginx,我有一个angular SPA和一个后端服务,它们都是通过docker容器部署的。我似乎无法让angular应用程序连接到后端服务 在angular容器中使用Nginx,配置如下 server { root /usr/share/nginx/html/; location / { try_files $uri $uri/ /index.html =404; } location http://backend-service { proxy_set_heade
server {
root /usr/share/nginx/html/;
location / {
try_files $uri $uri/ /index.html =404;
}
location http://backend-service {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend-service:8080/;
}
}
以及angular应用程序的环境文件
export const environment = {
api: 'http://backend-service',
};
容器是链接的,我可以通过服务名从Nginx/angular容器中ping后端容器,我想我在Nginx配置文件中出错了
有什么见解吗 最后的诀窍是从环境文件中删除docker引用
export const environment = {
api: '/api',
};
然后调整default.conf文件以匹配:
server {
listen 80;
server_name terrible-spa;
root /usr/share/nginx/html/;
index index.html index.html;
location /api {
proxy_pass http://backend-service:8080/api;
}
location / {
try_files $uri $uri/ /index.html =404;
}
}
这将正确地将所有调用/api转发到后端服务容器 NGINX是否成功返回错误响应?比如说503。。。只是为了验证NGINX是否正在运行,问题是否在任何端点上碰到了404,而该端点应该在后端服务上解决?答案很好