簡體   English   中英

Kubernetes入口編輯:HTTP 400錯誤請求-普通的HTTP請求已發送到HTTPS

[英]Kubernetes ingress edit: HTTP 400 Bad request - The plain HTTP request was sent to HTTPS

可能有任何原因導致完美加載的*HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*應用程序發出*HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*手動編輯了*HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*應用程序的入口或通過更新更新入口修改的自動化作業編輯了*HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*應用程序的入口后, *HTTP 400 Bad request - The plain HTTP request was sent to HTTPS*端口白名單IP

顯然,在清除webapp部署后重新部署webapp時,此問題已得到解決。

任何指向此操作的指針都將非常有用,因為這會在我們的PROD環境中發生,而在任何較低的環境中均不可復制。 注意事項:--Nginx Ingress控制器在較低環境和Prod環境中的設置相同。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/force-ssl-redirect: "true"
    ingress.kubernetes.io/ingress.allow-http: "false"
    ingress.kubernetes.io/proxy-body-size: 20M
    ingress.kubernetes.io/secure-backends: "true"
    ingress.kubernetes.io/whitelist-source-range: xxx.yy.zz.pp/32, yyy.ss.dd.kkl/32
    ingress.kubernetes.io/whitelist-source-range-status: unlocked
creationTimestamp: 2018-11-29T15:34:05Z
generation: 5
 labels:
   app: xyz-abc-pqr
  name: xxxx-webapp-yyyy-zzzz
  namespace: nspsace-name
  resourceVersion: "158237270"
  selfLink: /apis/extensions/v1beta1/namespaces/nspsace-name/ingresses/xxxx-webapp-yyyy-zzzz
  uid: 348f892e-f3ec-11e8-aa6f-0a0340041348
  spec:
   rules:
    - host: ssssssss.wwwwweewwerwerw.co.uk
      http:
      paths:
       - backend:
          serviceName: xxxx-webapp-yyyy-zzzz
          servicePort: 443
        path: /
    - host: xxxx-webapp-yyyy-zzzz.bbbbv.lasdfkla.ajksdfh.ioohhsaf.pp
     http:
       paths:
        - backend:
          serviceName: xxxx-webapp-yyyy-zzzz
          servicePort: 443
       path: /
     tls:
       - hosts:
          - ssssssss.wwwwweewwerwerw.co.uk
          - xxxx-webapp-yyyy-zzzz.bbbbv.lasdfkla.ajksdfh.ioohhsaf.pp
         secretName: xxxx-webapp-yyyy-zzzz-server-tls
     status:
       loadBalancer:
        ingress:
         - {}

入口控制器及其更新配置的方式可能有問題。 我假設您正在使用nginx入口控制器,因此可以在之后檢查配置:

$ kubectl cp <nginx-ingress-controller-pod>:nginx.conf nginx.conf.before
$ kubectl edit ingress <your-ingress>
$ kubectl cp <nginx-ingress-controller-pod>:nginx.conf nginx.conf.after
$ diff nginx.conf.before nginx.conf.after

您可以看到nginx可能由於以下原因而發生這種情況: 處理nginx 400“普通HTTP請求已發送到HTTPS端口”錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM