Nginx Ingress 背后的 mitmweb (mitmproxy)

问题描述

我尝试在我的 Kubernetes 设置中以反向模式设置 mitmproxy。它适用于应用程序,如果我在端口 8081 上隧道服务,我可以访问 Web UI。 但是,如果我想通过 Nginx 入口 URL 访问 Web UI,Web 界面已连接但不起作用,仅显示消息“404:未找到”。
控制台错误

Web server listening at http://0.0.0.0:8081/
Proxy server listening at http://*:8080
WARNING:tornado.access:404 GET / (172.30.0.148) 0.66ms
WARNING:tornado.access:404 GET /favicon.ico (172.30.0.148) 0.58ms

运行命令

mitmweb --web-host 0.0.0.0 --set block_global=false --mode reverse:https://example.url

入口清单

apiVersion: networking.k8s.io/v1
kind: Ingress
Metadata:
  name: ingress-name
  annotations:
    kubernetes.io/ingress.class: "Nginx"
    Nginx.ingress.kubernetes.io/affinity: cookie
    Nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    Nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    ...
spec:
  tls:
    - hosts:
        - proxy-app-url
      secretName: secretName 
      ...
  rules:
    - host: hostname
      http:
        paths:
          - path: path 
            backend:
              serviceName: mitmproxy-service
              servicePort: 8080
    - host: proxy-app-url
      http:
        paths:
          - path: /
            backend:
              serviceName: mitmproxy-service
              servicePort: 8081

我还尝试使用“--set websocket=false”禁用 Websocket。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)