Traefik 反向代理 xhr 404 问题

2023-01-27 22:49:43 +08:00
 seagull7558
部署一个 Minio,console 端口 5000,server 端口 9000

service: ClusteIP 两个端口 5000 9000

traefik: 监听两个端口 80 和 5000 并通过 Host(minio.1.zzz)匹配将请求转发到 service 的 5000 端口

第一种请求方式:
minio.1.zzz:5000 浏览器打开控制台没问题

第二种请求方式:
minio.1.zzz 浏览器可以打开控制台,但是发送的请求 404

发现只要是控制台和服务分开俩端口的都不可以访问后端服务,nacos 和 xxl-job 可以,rabbitmq,rocketmq 都不行

日志:

{
"ClientAddr": "192.168.4.250:55485",
"ClientHost": "192.168.4.250",
"ClientPort": "55485",
"ClientUsername": "-",
"DownstreamContentSize": 19,
"DownstreamStatus": 404,
"Duration": 688075,
"OriginContentSize": 19,
"OriginDuration": 169976,
"OriginStatus": 404,
"Overhead": 518099,
"RequestAddr": "minio-console.etb-0-0-1.k8s.zszc",
"RequestContentSize": 0,
"RequestCount": 1018,
"RequestHost": "minio-console.etb-0-0-1.k8s.zszc",
"RequestMethod": "GET",
"RequestPath": "/api/v1/login",
"RequestPort": "-",
"RequestProtocol": "HTTP/1.1",
"RequestScheme": "http",
"RetryAttempts": 0,
"RouterName": "traefik-traefik-dashboard-6e26dcbaf28841493448@kubernetescrd",
"StartLocal": "2023-01-27T13:20:06.337540015Z",
"StartUTC": "2023-01-27T13:20:06.337540015Z",
"entryPointName": "web",
"level": "info",
"msg": "",
"time": "2023-01-27T13:20:06Z"
}
1408 次点击
所在节点    Kubernetes
6 条回复
yikyo
2023-01-28 07:56:38 +08:00
昨天刚部署了 minio ,你的 80 端口请求的不是 console ,请求的是 minio 上面的资源,返回 404 正常啊

traefik 配置
minio.1.zzz 转发到 9000
console.1.zzz 转发到 5000

都用 80 端口访问
seagull7558
2023-01-28 08:31:55 +08:00
@yikyo 没理解呢 我确实可以通过 80 端口看到 minio 的 console 但是就是页面上向后端发起的 xhr 的请求 404,我不理解
yikyo
2023-01-28 10:00:01 +08:00
@seagull7558 80 端口的 console 有没有可能是缓存

traefik 要区分流量,你都用了同一个域名,80 对应后端 9000 端口,5000 对应后端 5000 端口

按你的说法 80 能访问到 console 就是不正常,返回 404 才是正常的结果

你可以贴配置文件上来看看
yikyo
2023-01-28 10:01:59 +08:00
minio 我也是刚装,不熟悉,但他的资源也是需要 http 访问,所以你通过 80 端口访问是出现 404 是正常结果,因为在 minio 中就不存在这个资源
seagull7558
2023-01-28 11:03:34 +08:00
我可能没有描述清楚哈

traefik 监听的 80 端口和 500 端口都指向了 minio.ClusterIP 的 5000 端口,但是从 traefik 监听的 5000 端口的服务就能正常请求
ashuai
2023-01-28 14:01:27 +08:00
你 9000 端口的转发是怎么配置的?
5000 是给人类用的,9000 是给程序用的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/910921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX