# 升级服务器 HTTP2
# 1. 获取HTTPS证书
可以使用网上免费生成证书网站 (opens new window)
输入需要生成的网站名称和邮箱 证书品牌,证书类型等选项选择默认就好。

根据提示下载软件KeyManager进行安装,并注册账号
重新在网站上点击【点击创建】按钮,打开KeyManager软件,提示【CSR生成成功,请返回浏览器继续操作】
返回浏览器看到DNS验证内容如下

到我们购买域名的服务商处配置DNS域名解析

点击【配置完成,检测一下】,打开新的页面,点击【检测】,如果提示不匹配,可能是DNS解析还没有生效,多等一会就好了

点击【点击验证】,返回证书信息,点击保存到KeyManager

我们可以在KeyManager中查看证书内容
点击【导出证书】,选择服务器Nginx,导出证书文件。

解压导出的文件包,获得2个文件 XX.crt 和 XX.key
# 2. 安装HTTPS证书
先把刚才获得的两个证书上传到自己的服务器上,我是上传到
/www/SSL/目录下。打开Nginx配置文件,目录
/etc/nginx/conf.d/default.conf,如果没有新建一个,以.conf结尾然后将下面的配置内容填写进去
# Nginx配置文件
server {
# 侦听443端口,这个是SSL访问端口
listen 443 ssl;
# 定义使用 访问域名
server_name www.huoyuhao.net;
#定义服务器的默认网站根目录位置
root /www/blog;
# 刚才获取证书中.crt结尾文件的位置 相对服务器绝对路径
ssl_certificate "/www/SSL/www.huoyuhao.net_chain.crt";
# 刚才获取证书中.key结尾文件的位置
ssl_certificate_key "/www/SSL/www.huoyuhao.net_key.key";
# 储存SSL会话的缓存类型和大小
ssl_session_cache shared:SSL:1m;
# 会话过期时间
ssl_session_timeout 10m;
# 按照这个协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 为建立安全连接,服务器所允许的密码格式列表 按照这个套件配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 默认请求
location / {
root /www/blog;
#定义首页索引文件的名称
index index.html;
try_files $uri $uri/ /index.html;
}
# 静态文件,Nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
# 过期30天,静态文件不怎么更新,过期可以设大一点,
# 如果频繁更新,则可以设置得小一点。
expires 30d;
}
}
server {
# 80端口是HTTP正常访问的接口
listen 80;
server_name www.huoyuhao.net;
# 在这里,我做了HTTPS全加密处理,在访问HTTP的时候自动跳转到HTTPS
rewrite ^(.*) https://$host$1 permanent;
}
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
42
43
44
45
46
47
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
42
43
44
45
46
47
# 3. 重启Nginx
nginx -t // 查看Nginx配置文件是否有报错
nginx -s reload // Nginx服务重新启动
1
2
2
# 4. Nginx配置HTTP2
这一步非常简单,修改上面Nginx配置文件如下:
server {
listen 443 ssl http2;
...
}
1
2
3
4
2
3
4
重启Nginx服务即可