当前位置: 首页> 科技> 互联网 > 制作企业网站欢迎界面素材_国家建设网资质查询_网络推广网站排行榜_深圳企业seo

制作企业网站欢迎界面素材_国家建设网资质查询_网络推广网站排行榜_深圳企业seo

时间:2025/7/13 0:25:03来源:https://blog.csdn.net/weixin_45396500/article/details/142859211 浏览次数:2次
制作企业网站欢迎界面素材_国家建设网资质查询_网络推广网站排行榜_深圳企业seo

目前我们的tomcat服务在浏览器上通过http来访问。为了提升安全性,我们将配置TLS secret 证书,从而可以进行https访问。

一对TLS密钥包括一个证书(trs.crt)和一个私钥,证书是公钥证书,用于加密数据并标识服务器,而服务器的私钥,用于解密通过公钥加密的数据,并用于签署服务器发送给客户端的数据。

当我想要配置我的ingress 资源从而支持https访问时,Ingress Controller 需要一个证书和私钥来处理 TLS 握手和加密通信。

创建TLS证书
openssl genrsa -out tls.key 2048
openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=tomcat.lucky.com

第一句话用于生成一个rsa格式的密钥,保存在tls.key文件中。

第二句话生成一个 自签名 X.509 证书,而不是生成一个证书签名请求(CSR)。X.509 是公钥证书的标准格式,广泛用于 SSL/TLS 协议中。使用 -x509 会直接生成证书,而不是请求证书颁发机构(CA)签署的证书。这个证书是配套tls.key的内容。将生成的自签名证书保存到 tls.crt 文件中。

-subj "/C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=tomcat.lucky.com"用于指定密钥的主题,

  • C=CNC 表示 国家名称(Country)。在这个例子中,CN 代表中国 (China)。
  • /ST=BeijingST 表示 省/州(State or Province)。这里指定为 Beijing,表示北京市。
  • /L=BeijingL 表示 城市名称(Locality)。这里同样为 Beijing
  • /O=DevOpsO 表示 组织名称(Organization)。在这个例子中,DevOps 代表组织的名称。
  • /CN=tomcat.lucky.comCN 表示 通用名称(Common Name)。这是最重要的字段,通常用于指定证书的域名。在这个例子中,tomcat.lucky.com 是证书所保护的域名

生成secret文件
[root@master 35ingress]# kubectl create secret tls nginx-ingress-secret --cert=tls.crt --key=tls.key
secret/nginx-ingress-secret created
您在 /var/spool/mail/root 中有新邮件
[root@master 35ingress]# kubectl get secret
NAME                   TYPE                DATA   AGE
nginx-ingress-secret   kubernetes.io/tls   2      6s
[root@master 35ingress]# kubectl describe secret nginx-ingress-secret
Name:         nginx-ingress-secret
Namespace:    default
Labels:       <none>
Annotations:  <none>Type:  kubernetes.io/tlsData
====
tls.crt:  1245 bytes
tls.key:  1675 bytes
创建ingress

这个ingress是有tls的ingress,用来代替之前的ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-tomcat-tlsnamespace: defaultannotations:kubernetes.io/ingress.class: "nginx"
spec:tls:- hosts:- tomcat.lucky.comsecretName: nginx-ingress-secret  # 指定使用的 TLS Secretrules:- host: tomcat.lucky.comhttp:paths:- pathType: Prefixpath: /backend:service:name: tomcat  # 服务名称port:number: 8080  # 服务端口
[root@master 35ingress]# kubectl get ingress
NAME                 CLASS   HOSTS              ADDRESS           PORTS     AGE
ingress-myapp        nginx   tomcat.lucky.com                     80        11s
ingress-tomcat-tls   nginx   tomcat.lucky.com   192.168.244.129   80, 443   103s

 可以看到有tls的ingress还开启了443服务。

在 Kubernetes 的 Ingress 资源中,当你配置了 TLS 时,Ingress 控制器会自动为你启用 443 端口以处理 HTTPS 请求。这是因为 TLS (Transport Layer Security) 是用于加密 HTTP 请求的协议,而 HTTPS(即 HTTP over TLS)默认使用 443 端口来传输加密的流量。

可以看到用https访问域名,页面如下:

关键字:制作企业网站欢迎界面素材_国家建设网资质查询_网络推广网站排行榜_深圳企业seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: