- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用以下命令在本地生成 key 。
openssl genrsa -out testsvc.testns.ing.lb.xyz.io.key.pem 2048
并使用以下命令生成 CSR(证书签名请求)。
openssl req -new -sha256 -key testsvc.testns.ing.lb.xyz.io.key.pem -subj "/CN=testsvc.testns.ing.lb.xyz.io"
我使用上面的 CSR 文件生成了证书链文件,最后得到了下面的文件。
testsvc.testns.ing.lb.xyz.io.chain.pem
我正在尝试将它们用于入口 tls,下面是入口 tls 的命令。
kubectl create secret tls custom-tls-cert --key /path/to/tls.key --cert /path/to/tls.crt
不确定,我如何通过上述命令使用 chain.pem 文件和 key.pem 文件。尝试从 chain.pem 生成 crt 并在 kubectl create secret 上出错。
"error: failed to load key pair tls: failed to find any PEM data in certificate input"
我想创建以下 secret 。
apiVersion: v1
data:
tls.crt: base64 encoded cert
tls.key: base64 encoded key
kind: Secret
metadata:
name: testsecret
namespace: default
type: Opaque
不确定如何使用 chain.pem 文件生成 .crt 和 .key 文件。
谢谢
最佳答案
首先,让我们弄清楚 key 、CSR 和证书是什么。
key
- 本地生成的 secret 文件显示/发送给任何人 (key.pem)csr
- 由 key.pem 生成的文件 (request.pem),需要发送给 CA(证书颁发机构)。 (您可以拥有自己的 CA,但通常由其他人管理)。cert
- CA根据request.pem和自己的CA私钥创建的文件(cert.pem)
现在您可以使用这两个文件 - key.pem
和 cert.pem
- 在您的服务和客户端之间创建安全连接。
我想您只创建了一个 key 和一个请求。因此,您需要更进一步并从 CA 获得证书。
出于测试目的,您可以使用一条命令创建新 key 和自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/C=US/ST=Florida/L=Miami/O=SomeCompany/OU=ITdepartment/CN=www.mydomain.com"
(根据自己的需要调整)
key 和证书有多种类型,很容易找到将一种格式转换为另一种格式的方法。
创建 Secret 时使用 PEM 格式的证书和 key 应该可以正常工作。
只需将 key 和证书插入该命令,如下所示:
kubectl create secret tls testsecret --key key.pem --cert cert.pem
此命令创建一个 Secret 对象并使用 base64 对 key.pem
和 cert.pem
内容进行编码。
您可以使用以下命令检查创建的对象的内容:
kubectl get secret testsecret -o yaml
echo "tls.crt: content" | base64 --decode
例如:
echo "LS0t...tLS0tLQo=" | base64 --decode
在此处阅读有关使用和生成证书的更多信息:
https://www.sslshopper.com/article-most-common-openssl-commands.html
How to create a self-signed certificate with openssl?
https://docs.bitnami.com/kubernetes/how-to/secure-kubernetes-services-with-ingress-tls-letsencrypt/
关于ssl - Kubernetes 入口 tls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49803845/
通常入口重写目标的工作原理如下: nginx.ingress.kubernetes.io/rewrite-target: / 这将重写服务名称的目标,因为它们在根目录中。所以如果我有这个: apiVe
我正在使用 Helm 部署的 GKE (1.8.5-gke.0) 上运行 traefik 入口 Controller 。我观察到的是请求经常得到 404 响应。 看起来 traefik 会不断重新加载
是否可以在没有负载均衡器的情况下在 Kubernetes 中使用 Ingress Controller 功能(在 Digital Ocean 中)。 有没有其他机制可以让域名映射到Kubernetes
我使用 KOPS 和 nginx-ingress 在 AWS 上部署了 Kubernetes。 为了评估多个云(并削减成本),我想在 GKE 上进行部署。一切正常,除了该死的 Ingress。 (这是
要求:想要使用带有 HTTPS 的入口部署 Minio 和另一个后端服务(不用于生产目的) 我一直在尝试创建一个入口以从 GKE 中的 Kubernetes 集群外部访问两个服务。这些是我尝试过的尝试
我对使用漏斗可视化功能的谷歌分析有点坚持。 输入漏斗可视化时,它会显示带有数字的“(入口)”。 这代表什么? 最佳答案 这表示在漏斗中第一步所代表的特定页面或一组页面上进入您网站的人数。 关于goog
我尝试在我的 kubernetes 集群上配置入口。我关注了documentation安装入口 Controller 并运行以下命令 kubectl apply -f https://raw.gith
我无法连接到使用 nginx 入口运行的应用程序(Docker Desktop win 10)。 nginx-ingress Controller pod 正在运行,应用程序运行良好,并且我创建了一个
我试图弄清楚如何使用具有某些特定规则的 nginx 代理缓存。例如,当我托管 Ghost 或 Wordpress 时,我不想缓存管理部分。使用服务器片段,我尝试了很多不同的组合,但在管理部分的缓存仍然
我正在尝试将AKS入口的IP列入白名单。我目前正在使用未随Helm一起安装的ingress-nginx。 强制性kubernetes资源可以在here中找到 服务启动为: spec: extern
我的机构有防火墙设置,阻止了大部分外部端口,目前,我有内部 Linux 虚拟机,例如, http://abc.xyz:5555 (此链接只能在内网访问),并且管理员设置了Netscaler,以便将内部
我正在尝试根据用户代理代理_传递流量。试图为它使用服务器代码段/配置代码段,但入口不允许我。 (禁止在 server-snippet 中使用 proxy_pass 并在 configuration-s
我已经使用 nginx-stable 安装了 nginx helm 图表和配置的入口规则如下。虽然它仅适用于根路径,如下所示, /user/login - working /user/register
使用 KOPS 在 AWS 上部署 k8s。 我已经创建了 nginx 入口 https://github.com/kubernetes/ingress-nginx nginx-ingress-con
在我的聊天应用程序中,当一个用户将另一个人添加到他/她的联系人列表中时,服务器条目显示 BOTH 订阅,但在我的应用程序中,代码根据 TO/FROM 订阅工作(就像在接受 friend 请求之前一样)
我在 Python 中有一个实用程序模块,它需要知道正在使用它的应用程序的名称。实际上,这意味着被调用以启动应用程序的顶级 python 脚本的名称(即,其中__name=="__main__"为真)
在这种情况下,我将如何实现“OnButtonClick”以便在按下按钮时打印用户输入“e1”? from Tkinter import * class App: def __init__
我使用以下命令在本地生成 key 。 openssl genrsa -out testsvc.testns.ing.lb.xyz.io.key.pem 2048 并使用以下命令生成 CSR(证书签名请
我正在运行 mint 17.2 kde。 我通过在 ~/Downloads/中运行 idea.sh 安装了 intellij CE 然后我将 intellij 移动到/usr/lib/。现在,当我尝试
我无法让 Controller 工作。尝试了很多次,我仍然得到 Error: ImagePullBackOff。 有没有我可以尝试的替代方案或者它失败的原因? kubectl apply -f
我是一名优秀的程序员,十分优秀!