0%

《Hexo博客搭建维护》 — 2、配置https证书

前面已经把网站成功搭建起来并部署了,外界已经可以访问到。

但是当你打开的时候,会发现浏览器会提示你不安全,是否真的要打开,那怎么去掉这个提示,答案是安装https证书

https证书一般都是要money的,而且加个还不低(比域名贵很多)

我自己找了一个免费域名。可以去 freessl 注册。这里不细讲了,网上很多教程,我们的重点不在这里。

>>> 下载证书后,得到证书文件以及私钥文件

在 freessl 中下载证书时会让你安装一个 KeyManager ,在 KeyManager 的 证书管理 中,点击你证书右边的 … ,找到 证书详情, 然后点击 查看PEM,如下图所示

KeyManager证书

上面的 证书和证书链 复制下来保存为 tls.crt

下面的右边 PKCS8 复制下来保存为 tls.key

kustomization.yaml

1
2
3
4
5
6
7
8
namespace: default

secretGenerator:
- name: tls
files:
- secret/tls.crt
- secret/tls.key
type: Opaque

下面命令创建 secret

1
kustomize build . | kubectl apply -f -

>>> 修改ingress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
name: pefish-blog
namespace: default
spec:
backend:
serviceName: none
servicePort: 80
rules:
- host: pefish.club
http:
paths:
- path: /(.*)
backend:
serviceName: frontend-pefish-blog
servicePort: 80
- host: www.pefish.club
http:
paths:
- path: /(.*)
backend:
serviceName: frontend-pefish-blog
servicePort: 80
tls:
- secretName: tls-46k4k9bh7h

secretName 是通过 kubectl get secret 可以看到

>>> 结束语

再次打开你的网站,就可以生效了

注意:证书的CN必须跟你的域名一致,否则即使证书配置好了,K8s也不会使用你的证书,而是使用K8s自己生成的一个未经过CA认证的假证书




微信关注我,及时接收最新技术文章