Таким образом, проблема заключается в том, что приложение веб-интерфейса делает запросы от вашего браузера (на стороне клиента, а не на стороне сервера), что означает, по сути, то, что вам нужно сделать, это предоставить свой файл node.js
Пример: если вы используете Minikube, вы можете сделать что-то простое: измените тип службы для вашего node.js на тип Loadbalancer:
apiVersion: v1
kind: Service
metadata:
name: todo-backend-service
spec:
ports:
- port: 5000
targetPort: 5000
selector:
app: todo-server-app
type: LoadBalancer
Затем вам нужно будет выполнить:
minikube service todo-backend-service --url
# OUTPUT
http://192.168.99.113:30048
Этот IP-адрес и порт - то, что ваш веб-интерфейс должен использовать для подключения к бэкэнду node.js:
curl -X POST http://192.168.99.113:30048/todo/list
# OUTPUT
{"error":"Please login first."}
Просто обратите внимание, что при перечислении элементов обычно следует использовать запрос GET
Причина, приведенная в примере:
Клиентское приложение загружается в ваш браузер, поэтому любой запрос, направляемый в ваш бэкэнд-сервис, должен выполняться через внешнюю конечную точку, так как ваш браузер не будетбыть в той же сети, что и ваши стручки Kubernetes