Kubernetes nginx 入口在配置路径字段后显示"403"



下面是我的清单:

  • 服务.yaml
apiVersion: v1
kind: Service
metadata:
name: jenkins
spec:
type: NodePort
ports:
- port: 8080
protocol: TCP
targetPort: 8080
nodePort: 80
selector:
app: jenkins
#externalTrafficPolicy: "Cluster"
  • ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress-entry
annotations:
kubernetes.io/ingress.class: "nginx"
#nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
#ingress.bluemix.net/rewrite-path: "serviceName=jenkins rewrite=/"
spec:
tls:
- hosts:
- ingress.hygon.cn
secretName: nginx-cert
rules:
- host: ingress.hygon.cn
http:
paths:
- path: /jenkins
backend:
serviceName: jenkins
servicePort: 8080

我使用nginx入口来控制访问后端服务Jenkins。如果我将http.paths.path设置为"等于"/"一切都很好,但如果我为URL设置路径字段,浏览器将显示403错误。

您没有指定从外部命中的URL。但我猜你用http.paths.path: /打出的是:

http://hosname/jenkins

然后您将其修改为http.paths.path: /jenkins,并点击与您获得403相同的URL。如果是这种情况,您需要删除nginx.ingress.kubernetes.io/rewrite-target: /,因为这实际上是在将/jenkins重写为/,而您的Jenkins服务器不知道如何提供它

或者,您可以更改Jenkins服务器上的配置,使其在/下运行,并使用http.paths.path: /jenkinsnginx.ingress.kubernetes.io/rewrite-target: /保持当前设置。

✌️

相关内容

  • 没有找到相关文章

最新更新