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

在nginx入口中使用自签名证书

孟成文
2023-03-14

我正在将服务迁移到minikube上的kubernetes集群中,这些服务在加载时需要自签名证书,通过NodePort访问服务可以很好地工作,并需要浏览器中的证书(下图),但是通过入口主机访问(域在/etc/hosts中本地修改)为我提供了一个由Acme提供的kubernetes入口控制器伪造的证书,并且跳过了我的自签名证书,没有任何消息。

SSLs应该在应用程序中解密,而不是在入口中解密,并且tls-acme:“false”标志不起作用,仍然会给我假证书

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    # decryption of tls occurs in the backend service
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/tls-acme: "false"
spec:
  rules:
    - host: admin.domain.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: admin-service
                port:
                  number: 443

minikube版本:V1.15.1

使用入口-nginx 3.18.0

共有1个答案

庄萧迟
2023-03-14

问题原来是Minikube上的一个bug,而且还必须在nginx控制器中启用ssl passthrough(除了注释之外),标记为--enable-ssl-passthrough=true

我在使用kubernetes V1.19.4的Minikube集群版本V1.15.1上进行了所有的集群测试,其中ssl passthrough失败了,在遵循ingress-nginx GitHub问题中的指导之后,我发现该问题没有以实物复制,所以我尝试在新的AWS集群(k8版本1.18)上部署我的应用程序,一切都很好。

 类似资料:
  • 我有一个托管REST回显服务的库伯内特斯集群(AKS)。该服务通过HTTP运行良好。我正在使用NGINX入口路由流量。我现在想通过HTTPS和mTLS设置此服务,因此强制客户端指定证书以能够与回显服务通信。这是一个POC,所以我使用自签名证书。 我需要设置哪些Kubernetes组件才能实现这一点?我阅读了NGINX文档,但无法理解是否需要在Kubernetes集群中创建证书颁发机构/证书管理器,

  • 目标:我希望此url(https://localhost:8083)在我的本地计算机上使用我的自签名证书。 首先,我引用了这个url(https://gist.github.com/oslego/f13e136ffeaa6174289a),我所做的是: $openssl genrsa-des3-out server.orig.key 2048 $openssl rsa-输入server.orig.

  • 我正在使用Postman测试我的API。我正在使用自签名证书在我的应用程序中使用HTTPS。 打开HTTPS设置后,邮递员应用程序显示此错误 它显示了 错误:自签名证书 当我在邮递员设置中关闭SSL证书验证时,API调用运行完美。我尝试在邮递员应用程序中安装证书/密钥,但没有成功。 我想在postman中使用证书/密钥,以便可以使用SSL访问API。有什么办法吗?

  • 本文向大家介绍Nginx配置SSL自签名证书的方法,包括了Nginx配置SSL自签名证书的方法的使用技巧和注意事项,需要的朋友参考一下 生成自签名SSL证书 生成RSA密钥(过程需要设置一个密码,记住这个密码) 拷贝一个不需要输入密码的密钥文件 生成一个证书请求 这里会提示输入国家,地区组织,email等信息.最重要的一个是"common name",需要与网站域名相同. 输入完这些就会生成一个d

  • 2.通过在文件中添加一些属性,在Spring Boot中启用HTTPS。 3.将HTTP重定向为HTTPS(可选)。我忽略了这部分。 但是当我启动我的应用程序时,我得到了这些错误: 非常感谢你的帮助。

  • 问题内容: 我正在尝试将Android应用连接到使用自签名证书的启用SSL的服务器。我已经阅读了数十个教程,并且该应用程序现在正在接受证书并连接到服务器,但是我再也收不到任何数据。 我用来初始化套接字的原始代码是这样的: 之后,接收器线程的运行循环使用 socket.getInputStream() 访问输入流。只要我使用未加密的连接,它就可以正常工作。但是安全连接不会从套接字 检索任何数据 。我