nginx 404 Not Found 404 Not Found

9vw9lbht  于 4个月前  发布在  Nginx
关注(0)|答案(1)|浏览(73)

我有一个DNSMap到我的aks负载均衡器的外部IP,负载均衡器下面有一个nginx入口控制器,它与我集群中服务的入口通信。
当我尝试访问我的dns像:mydns/post/test我收到nginx 404错误。似乎nginx回答正确,但没有找到内部路由Map。
下面我重写了这个实现的所有步骤。
通过以下命令安装nginx:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/cloud/deploy.yaml

字符串
命令:
kubectl get all -n ingress-nginx
我看到这个结果:x1c 0d1x
我用这个yaml创建了nginx控制的入口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: service-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: post-service
                port:
                  number: 8080


关于Post-Service:

apiVersion: v1
kind: Service
metadata:
  name: post-service
spec:
  selector:
    app.kubernetes.io/name: post
  ports:
    - port: 8080
      targetPort: 8080

The service communicate with a pod that containt a test endpoint(spring boot app, works


通过转发端口正确测试):

@RestController
@Slf4j
public class PostController {
    

    @GetMapping("/test")
    String all() {
       
        return "Hello!";
    }

}


为什么我会收到nginx 404错误?
谢谢

hrysbysz

hrysbysz1#

请使用kubectl logs -n ingress-nginx <your-ingress-controller-pod-name>检查您的Pod日志一次,以深入了解路由或连接到Sping Boot 应用程序的任何问题。
我可以看到,在你的Ingress YAML中,你已经定义了路径为/pathType: Prefix。这意味着Ingress会将指定前缀的流量路由到指定的后端服务。
但是,当您尝试访问URL mydns/post/test时,它与Ingress(/)中的指定路径不匹配。相反,您正在尝试访问post-service上的/test路径。
尝试修改你的ingress YAML如下

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: service-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
    - http:
        paths:
          - path: /post/test
            pathType: Prefix
            backend:
              service:
                name: post-service
                port:
                  number: 8080

字符串
重新使用。
x1c 0d1x的数据

kubectl apply -f service-ingress.yaml



对“/post/test”的请求将被正确地路由到您的服务。
参考文件:
MS Doc
Similar SO Thread
Similar SO thread
Map DNS to external IP

相关问题