Nginx 入口控制器 Returns 404 Kubernetes
Nginx Ingress Controller Returns 404 Kubernetes
我正在尝试创建一个入口控制器,它指向我通过 NodePort 公开的服务。
这是入口控制器的 yaml 文件(取自 https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
我可以直接连接到节点端口并显示前端。
请注意,我这样做是因为前端应用程序无法连接到我创建的其他部署,并且我读到入口控制器能够解决该问题。我还需要添加 Nginx 反向代理吗?如果是这样,我该怎么做?我试过将它添加到 nginx 配置文件但没有成功。
location /middleware/ {
proxy_pass http://middleware/;
}
您必须使用正确的主机名才能到达 Ingress
对象中定义的路由。更新您的 /etc/hosts
文件或使用 curl -H "hello-world.info" localhost
类型命令。或者,您可以删除 host
映射并将所有流量重定向到一个默认服务。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
我正在尝试创建一个入口控制器,它指向我通过 NodePort 公开的服务。
这是入口控制器的 yaml 文件(取自 https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
我可以直接连接到节点端口并显示前端。
请注意,我这样做是因为前端应用程序无法连接到我创建的其他部署,并且我读到入口控制器能够解决该问题。我还需要添加 Nginx 反向代理吗?如果是这样,我该怎么做?我试过将它添加到 nginx 配置文件但没有成功。
location /middleware/ {
proxy_pass http://middleware/;
}
您必须使用正确的主机名才能到达 Ingress
对象中定义的路由。更新您的 /etc/hosts
文件或使用 curl -H "hello-world.info" localhost
类型命令。或者,您可以删除 host
映射并将所有流量重定向到一个默认服务。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80