Closed quanzaiyu closed 4 years ago
返回http状态码403,而不是404,说明流量已经流入服务器,没有通过验证。具体问题,可以猜一下:
1.检查证书是否有误。 2.本人使用的ingress的部署文件deployment资源中指定端口为hostport模式,即使用物理机的端口。检查traefik容器所运行的服务器端口是否能正常访问。 3.试试代理别的服务,如nginx服务,配置一个traefik https路由规则进行代理,进行尝试。 4.可以降低traefik配置文件中的日志级别,访问出错后观察容器日志,查看有无相关错误信息。
大晚上睡觉前暂时只能想这么多,实在不行可以将配置发我邮箱 mynamedlq@163.com 给看下。
我是用的是Docker Desktop中继承的Kubernetes,没使用虚拟机。
尝试代理其他服务也是一样的,比如Nginx:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx-route
namespace: nginx
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.test.com`)
kind: Rule
services:
- name: nginx
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx-route
namespace: nginx
spec:
entryPoints:
- websecure
tls:
secretName: nginx-test-tls
hosts:
- nginx.test.com
routes:
- match: Host(`nginx.test.com`)
kind: Rule
services:
- name: nginx
port: 80
结果如下: HTTP: HTTPS:
域名均加入hosts,证书都是使用OpenSSL生成的,应该没问题。
我把部署脚本整理一下发你邮箱,麻烦帮我看看,谢谢!
您好,相关的部署脚本我已发送到您的邮箱,麻烦查收一下。
弄出来了,还需要装一个metallb,云环境比如ECS中是自带了的,但本地还得自己配。
你好,很荣幸能看到这个项目以及相关的文章。
通过这个YAML部署后,traefik成功部署,但是https却无法成功访问,返回403,请教一下是什么问题。
接下来我具体描述一下我的部署过程。
通过Helm部署
最开始我并没有看到这个项目,我就直接通过Helm部署了,相关命令如下:
其中
traefik/route.yaml
如下:其中
traefik-dashboard-tls
为我的自签证书:但是访问时,通过http能够正常访问,而https返回403.
效果如下:
通过本项目部署
然后我直接将chart下下来,看了一圈,也没看出个头绪,于是就在网上查询解决方案,很幸运找到这个项目以及对应文章。
我就按照文章中的步骤,一步一步创建YAML并部署。
当然,首先是干掉之前的那个命名空间:
然后按照文章,一步一步地创建文件,同时部署:
我只修改了一个地方,就是 Service 中的 type:
最终,应用成功部署:
但是,通过http访问没问题,https仍然返回403,排查了半天,还是不知道原因。
请问下阁下,有没有什么解决方案,或者一些好的排查方法。望不吝赐教,感激不尽。