Я запускаю угловое приложение со службой бэкэнда после весенней загрузки в Kubernetes в Google Cloud.Угловое приложение пытается получить данные из конечной точки упругости пружины, например:
Конечная точка загрузки пружины: http://localhost:8080/app/getDetails
Эта конечная точка работает хорошо, так как если я выполняю порт вперед, она запускается.Если я открою конечную точку явно из службы, использующей вход, она также будет доступна.
Но она недоступна из приложения Angular, работающего в том же модуле, что и другой контейнер, размещенный внутри nginx.(Cors включен)
В консоли отображается:
GET http://localhost:8080/app/getDetails net :: ERR_CONNECTION_REFUSED
Ошибка: [объект ProgressEvent]
Любая идея, как пройти через это?
Вот мой угловой код
export class MyComponent implements OnInit {
private url: string = "http://localhost:8080/app/getDetails";
constructor(private httpClient: HttpClient) {}
dtls: any;
ngOnInit() {}
public onClick() {
this.httpClient.get(this.url).subscribe(
results => {
this.dtls = results;
},
(err: HttpErrorResponse) => {
console.log("Error: " + err.error);
}
);
}
}
Вот nginx.conf
upstream webapp {
server 127.0.0.1:8080;
}
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}
Deployment.yml
apiVersion: v1
kind: Pod
metadata:
name: myapp-demo
labels:
app: myapp-dtls-demo
spec:
containers:
- name: myapp-ui
image: myuser/myapp-kubernetes-demo
ports:
- name: ui-port
containerPort: 80
- name: myapp-api
image: myuser/myapp-service-kubernetes-demo
Service.yml
apiVersion: v1
kind: Service
metadata:
name: myapp-demo-service
spec:
ports:
- port: 4200
targetPort: ui-port
name: ui
protocol: TCP
selector:
app: myapp-football-demo
type: LoadBalancer