当前位置: 首页 > 知识库问答 >
问题:

404查询响应与cert-manager和Nginx入口

梁丘成和
2023-03-14
$ k get challenge -o wide
NAME                                                      STATE     DOMAIN                 REASON                                                                               AGE
myapp-cert-2315925673-2905389610-1118496475   pending   myapp.example.com   Waiting for http-01 challenge propagation: wrong status code '404', expected '200'   7m55s

TLS块注释掉时,入口可以在端口80处正常工作。但是,当我定义TLS时,端口80上的请求返回404,这可能是挑战失败的原因。

注意:在使用我的产品clusterissuer时,我会得到相同的响应。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myapp-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: letsencrypt-staging
  labels:
    app: myapp
spec:
  rules:
  - host: myapp.example.com
    http:
      paths:
      - backend:
          serviceName: myapp
          servicePort: 80
  tls:
  - hosts:
    - myapp.example.com
    secretName: myapp-cert

::编辑以添加更多配置::

---
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: me@example.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: nginx
---
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email: me@example.com
    privateKeySecretRef:
      name: letsencrypt-staging
    solvers:
    - http01:
        ingress:
          class: nginx

服务清单:

---
apiVersion: v1
kind: Service
metadata:
  name: myapp
  labels:
    app: myapp
spec:
  ports:
    - port: 80
  selector:
    app: myapp
    tier: fe
  type: NodePort

Nginx日志

2019/12/08 14:45:44[emerg]62#62:无法加载证书“/etc/NGINX/secrets/default-myapp-cert”:PEM_read_bio_X509_AUX()失败(SSL:Error:0909006c:pem例程:get_name:no开始行:expected:TRUSTED certificate)I1208 14:45:44.934644 1 Event.go:209]事件(V1.objectreference{kint:“ingress”,namespace:“default”,name:“s/v1beta1”,resourceversion:“319124”,fieldpath:“}):类型:”warning“原因:”addedorupdatedwitherror“默认/myapp-ingress配置已添加或更新,但未应用:错误为默认/myapp-ingress重新加载NGINX:NGINX重新加载失败:Command/usr/sbin/nginx-s重新加载stdout:”stderr:“NGINX:[emerg]不能加载证书\”/etc/NGINX/default-myapp-cert\“应为:可信证书)\n”已完成,但错误为:退出状态1

共有1个答案

江英卓
2023-03-14

尽管复制了文档,但结果是入口上的注释键是错误的。

它应该是:certmanager.k8s.io/cluster-issurier(而不是文档中的cert-manager.io/cluster-issurier)

在进行此更改时,404消失了,证书被正确地颁发和配置。

 类似资料:
  • cert-manager cert-manager is a Kubernetes add-on to automate the management and issuance ofTLS certificates from various issuing sources. It will ensure certificates are valid and up to date periodica

  • 所以,我有一个库伯内特斯集群在aws-ek上运行,目前它只是一个测试集群来学习和构建一个生产集群。我已经设法使我需要的一切工作,除了SSL证书!:( 我正在使用 cert-manager 在我的域“brunolira.dev”上添加 SSL 证书,我在谷歌域上购买并使用 AWS 的 Route53 重定向到我的 kubernetes 负载均衡器,但尚未取得任何成功。 这是我的ClusterIssu

  • 你好,我是库伯内特的新手,试着设置我的第一个环境。我想要以下方案: < li >我的组织拥有公共IP (x.x.x.x) < li >此IP路由到带有win服务器IIS的专用局域网(即< code>192.168.0.10)中的服务器。在IIS上,我有URL重写模块,它充当反向代理 < li >我有kubernetes集群 < li >我在k8s上部署了一些服务 < li >我想通过SSL从int

  • 这是一个很小的脚本文件用来管理 Nginx 的 upstream 配置。 使用方法:upstream_manager.py <cluster> <action> [...]

  • 本文向大家介绍symfony2 返回404响应,包括了symfony2 返回404响应的使用技巧和注意事项,需要的朋友参考一下 示例 当在服务器上找不到资源时,将返回404响应。在Symfony中,可以通过引发NotFoundHttpException异常来创建此状态。为了避免use在控制器内部添加多余的语句,请使用类createNotFoundException()提供的Controller  

  • 我在CSS中有一些元素,我使用媒体查询来表示屏幕大小。当在桌面上改变浏览器的大小时,查询执行它们应该执行的操作。当使用Elementor中的手机、平板电脑和桌面按钮以及WordPress自定义按钮时,这些按钮不会起作用。他们似乎没有通过最大宽度/最小宽度来测量平板电脑模式。我的代码有什么问题,这些“模式”是如何建立的? 主要问题是“WordPress/Elementor使用哪些属性来确定您处于哪种