簡體   English   中英

使用 HTTP 在 Ngynx Ingress controller 后面通過 HTTPS 訪問內部 ClusterIp 后端服務是否安全?

[英]Is it safe to have an internal ClusterIp backend service using HTTP behind an Ngynx Ingress controller accessible via HTTPS?

我有一個服務配置為可通過 HTTP 訪問。

kind: Service
apiVersion: v1
metadata:
  name: myservice
spec:
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

和一個 Ngynx Ingress 配置為使該內部服務可從特定的安全 subdomain.domain 訪問

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: myservice-ingress
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/myservice-ingress
  annotations:
    certmanager.k8s.io/issuer: letsencrypt-prod
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: HTTP
spec:
  tls:
    - hosts:
        - myservice.mydomain.com
      secretName: myservice-ingress-secret-tls
  rules:
    - host: myservice.mydomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: myservice
              servicePort: 80
status:
  loadBalancer:
    ingress:
      - {}

因此,當我到達https://myservice.mydomain.com時,我可以通過 HTTPS 訪問我的服務。 是否足夠安全,或者我應該將我的服務和 Pod 配置為僅通過 HTTPS 進行通信?

這是預期的行為,因為您在 Ingress 中設置了TLS

請注意,默認情況下,如果為該入口啟用了 TLS,則controller會將(308) 重定向到HTTPS 如果要全局禁用此行為,可以在 NGINX ConfigMap中使用 ssl-redirect: "false" 。

要為特定入口資源配置此功能,您可以在特定資源中使用nginx.ingress.kubernetes.io/ssl-redirect: "false"注釋。

關於你的問題:“它足夠安全嗎..” - 這是基於意見的問題,所以我可以回答使用更好HTTPS ,而不是HTTP ,但這只是我的意見。 您總能找到HTTPHTTPS之間的區別

暫無
暫無

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

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