nginx - Nginx 将请求转发到 Kubernetes 集群中的后端
问题描述
我正在使用 minikube 创建一个本地 kubernetes 集群来测试我的配置。我有 5 个 pod 正在运行,它们可以与另一个 pod 交谈。我只是无法让我的前端到达后端。我的后端在端口 9090 上运行。我在端口 8081 上转发了我的前端:kubectl port-forward reservation-frontend-7f7bb788f-mx5hm 8081:80 我的前端发送如下请求:/api/upcoming。浏览器将它们发送到“http://localhost:8081/api/upcoming”。
Kubectl 获取服务如下所示:
- 后端 ClusterIP 10.97.133.252 9090/TCP
- keycloak ClusterIP 10.106.195.168 8080/TCP
- Kubernetes ClusterIP 10.96.0.1 443/TCP
- mongo ClusterIP 10.107.216.179 27017/TCP
- postgres ClusterIP 10.108.251.178 5432/TCP
- 保留前端 ClusterIP 10.108.75.120 80/TCP
http {
types {
module js;
}
server {
listen 8081;
location /api/upcoming {
proxy_pass http://api-backend;
}
location /api {
proxy_pass http://api-backend;
}
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html?$args;
}
}
upstream api-backend {
server backend:9090;
}
}
我的前端到后端请求似乎都被转发到 /location 谁能看到我做错了什么?谢谢!
解决方案
推荐阅读
- python - python psycopg2 - ProgrammingError:函数交叉表(未知,未知)不存在
- javascript - 有没有一种简单的方法可以用命令行重构 javascript 代码?
- java - Recyclerview 未更新屏幕 onNotifydatasetchanged
- c# - 为同一接口的多个实现设置属性
- android - 尽管添加了项目(文本框等),但布局预览显示为空白。甚至项目名称也没有出现在屏幕上
- regex - 从文本文件中获取姓名和年龄
- java - 大小无法解析或不是字段
- go - 如何使用 VGO 导入和更新子包
- javascript - fullpage.js - 触发响应后,jQuery.position() 和 .offset() 仍然返回 0,0
- mysql - MySQL 更新错误不正确的日期时间值