使用AKS进行事件网格验证

时间:2019-06-17 16:15:15

标签: azure kubernetes-ingress azure-kubernetes azure-eventgrid

使用证书管理器生成的AKS / inress TLS证书进行Azure Eventgrid订阅验证

尝试使用Webhook向azure eventgrid自定义主题添加订阅。 Webhook是部署在AKS上的springboot应用程序。使用入口控制器公开。使用证书管理器生成证书。

应用程序代码没有问题,因为我可以使用本地运行的相同代码成功创建事件订阅(通过公共IP公开)。

我可以从邮递员访问该应用程序。当我从邮递员发布验证JSON时,我得到了有效的响应。 {“ validationResponse”:“ 0000000000-0000-0000-0000-00000000000000”}

所以问题应该出在证书,安全性或入口。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: sample-ingress
    namespace: hello
    annotations:
    kubernetes.io/ingress.class: nginx
    certmanager.k8s.io/cluster-issuer: letsencrypt-staging
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
    tls:
    - hosts:
        - demo-test.eastus.cloudapp.azure.com
        secretName: tls-secret
    rules:
    - host: demo-test.eastus.cloudapp.azure.com
        http:
        paths:
            - backend:
                serviceName: api
                servicePort: 80
            path: /(.*)
            - backend:
                serviceName: api
                servicePort: 80
            path: /api/(.*)
            - backend:
                serviceName: workflow
                servicePort: 80
            path: /workflow/(.*)

---
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
    name: letsencrypt-staging
    namespace: hello
spec:
    acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email: user@contoso.com
    privateKeySecretRef:
        name: letsencrypt-staging
    http01: {}

Azure eventgrid订阅验证应该成功。 HashSet 按照上面的链接。

1 个答案:

答案 0 :(得分:1)

问题出在自签名证书上。颁发有效证书后,一切正常