Tls1.2 Knative:启用自动TLS证书设置-不工作

Tls1.2 Knative:启用自动TLS证书设置-不工作,tls1.2,istio,cert-manager,knative,knative-serving,Tls1.2,Istio,Cert Manager,Knative,Knative Serving,我正在尝试“启用自动TLS证书设置” 我有一个正在工作的ClusterIssuer(状态:“True”),并且我能够手动创建一个证书(状态:“True”) 我正在尝试启用 环境设置: Knative: v0.12 Istio: v1.4 (SDS) cert-manager: v0.13.1 kubectl version Client Version: version

我正在尝试“启用自动TLS证书设置”

我有一个正在工作的ClusterIssuer(状态:“True”),并且我能够手动创建一个证书(状态:“True”)

我正在尝试启用

环境设置:

Knative: v0.12
Istio: v1.4 (SDS)
cert-manager: v0.13.1

kubectl version                                                               
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.9", GitCommit:"2e808b7cb054ee242b68e62455323aa783991f03", GitTreeState:"clean", BuildDate:"2020-01-18T23:33:14Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15+", GitVersion:"v1.15.9-gke.9", GitCommit:"a9973cbb2722793e2ea08d20880633ca61d3e669", GitTreeState:"clean", BuildDate:"2020-02-07T22:35:02Z", GoVersion:"go1.12.12b4", Compiler:"gc", Platform:"linux/amd64"}
我有以下网关:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: knative-ingress-gateway
  namespace: knative-serving
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
    tls:
      # Sends 301 redirect for all http requests.
      # Omit to allow http and https.
      httpsRedirect: false
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - "mydomain.com"
    tls:
      mode: SIMPLE
      privateKey: /etc/istio/ingressgateway-certs/tls.key
      serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
申请时:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
  namespace: default
spec:
  template:
    spec:
      containers:
      - image: gcr.io/knative-samples/helloworld-go # The URL to the image of the app
        env:
        - name: TARGET
          value: "Go Sample v1"
我可以(注意:httpsRedirect:false):

但尝试使用https时:

curl https://helloworld-go.default.mydomain.com
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to helloworld-go.default.mydomain.com:443


另外:

Knative文档声明:“在此模式下,每个命名空间将提供一个证书,并在整个Knative中重用”,但我在任何命名空间中都没有看到任何证书

请注意,
kubectl get ksvc
url是http而不是https:

kubectl get ksvc
NAME            URL                                      LATESTCREATED         LATESTREADY           READY   REASON
helloworld-go   http://helloworld-go.default.mydomain.com   helloworld-go-lxr2n   helloworld-go-lxr2n   True    


我也有同样的问题。但版本为0.16.0。我修复了这个问题,没有在cert manager中使用“启用自动TLS证书设置”,而是使用了knative直接提供的HTTP-01

如何使用Let's Encrypt HTTP01挑战自动设置TLS证书:

  • 点击“通过HTTP01的TLS”
  • 按照指示去做
  • 应该有用

  • 你解决了这个问题吗?我面临着完全相同的问题。不,我还在等待解决。如果你有什么想法,请告诉我。
    kubectl get ksvc
    NAME            URL                                      LATESTCREATED         LATESTREADY           READY   REASON
    helloworld-go   http://helloworld-go.default.mydomain.com   helloworld-go-lxr2n   helloworld-go-lxr2n   True