抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

阿里云申请免费SSL证书并部署到docker中的halo

1、申请阿里云免费ssl

0元购买地址:云盾证书服务

image-20211204171530321

管理证书

SSL证书管理控制台–>SSL证书–>免费证书,创建证书

image-20211204171948446

创建证书之后,点击“证书申请”,填写相关信息提交申请。

image-20211204172126555

填写资料提交申请的过程中,需要进行域名解析,例如:

image-20211204172523532

2、部署到网站

2.1、下载证书

image-20211204172635685

下载完后得到两个文件,如下

image-20211204172702041

2.2 、上传证书到云服务器

创建证书目录,并使用sftp工具将上传到该目录,如:

1
mkdir /smartwirecom/cert

配置nginx.conf文件,注意80端口、445端口是否被其他软件或nginx的server占用,可以使用lsof -i:80指令查询占用情况。

配置文件如下(可以用vi、vim或sftp工具修改):

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
30
31
32
33
34
35
36
37
38
39
40
41
# 监听80端口,并将其重定向到https
server {
listen 80;

# 将smartwirecom.net改为您自己的域名
server_name smartwirecom.net;
# 上传文件大小的限制
client_max_body_size 1024m;
# 将所有http请求通过rewrite重定向到https。
rewrite ^(.*)$ https://$host$1 permanent;

}

## 配置ssl
server {
listen 443 ssl;

# 将smartwirecom.net改为您自己的域名
server_name smartwirecom.net;
# 上传文件大小的限制
client_max_body_size 1024m;
# 将证书文件存放路径和证书的密钥文件名替换成自己存放路径与证书的密钥文件名。
ssl_certificate /smartwirecom/cert/xxxxx_smartwirecom.net.pem;
ssl_certificate_key /smartwirecom/cert/xxxxx_smartwirecom.net.key;

ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 下面8090是您配置Halo的端口号,笔者这里使用默认端口。
proxy_pass http://127.0.0.1:8090/;
}
}

重启nignx:systemctl restart nginx 或者nginx -s reload

效果:

image-20211204173848545