# 升级服务器 HTTP2

# 1. 获取HTTPS证书

可以使用网上免费生成证书网站 (opens new window)

  1. 输入需要生成的网站名称和邮箱 证书品牌,证书类型等选项选择默认就好。

    生成HTTPS证书

  2. 根据提示下载软件KeyManager进行安装,并注册账号

  3. 重新在网站上点击【点击创建】按钮,打开KeyManager软件,提示【CSR生成成功,请返回浏览器继续操作】

  4. 返回浏览器看到DNS验证内容如下

    生成HTTPS证书

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

    生成HTTPS证书

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

    生成HTTPS证书

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

    生成HTTPS证书

  8. 我们可以在KeyManager中查看证书内容

  9. 点击【导出证书】,选择服务器Nginx,导出证书文件。

    生成HTTPS证书

  10. 解压导出的文件包,获得2个文件 XX.crt 和 XX.key

# 2. 安装HTTPS证书

  1. 先把刚才获得的两个证书上传到自己的服务器上,我是上传到/www/SSL/目录下。

  2. 打开Nginx配置文件,目录/etc/nginx/conf.d/default.conf,如果没有新建一个,以.conf结尾

  3. 然后将下面的配置内容填写进去

# 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

# 3. 重启Nginx

nginx -t // 查看Nginx配置文件是否有报错
nginx -s reload // Nginx服务重新启动
1
2

# 4. Nginx配置HTTP2

这一步非常简单,修改上面Nginx配置文件如下:

server {
  listen    443 ssl http2;
  ...
}
1
2
3
4

重启Nginx服务即可

Last Updated: 9/6/2025, 3:49:03 PM