运维 | Nginx配置SSL证书实现HTTPS+HTTP2

366 阅读1分钟

一.申请证书

以腾讯云为例,在云产品搜索ssl点进红框部分的SSL证书,点到我的证书再点击申请免费证书,需要输入已经备案的域名以及自己的邮箱。然后再去域名注册商以阿里云为例,将CNAME记录添加等待10分钟左右,CA服务商就会认证成功。并能下载证书。

搜索

申请证书

选择免费证书项

填写域名信息

域名认证方式

获取DNS解析 阿里云设置解析

认证成功

等待签发证书

下载证书

二、Nginx配置SSL证书

通过ftp连接到服务器将证书上传放到与nginx.conf文件同级目录下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QEHOTqAI-1652531952661)(b3logfile.com/file/2022/0…)] 在server块中设置好证书路径,配置好TSL证书的支持版本及加密方式,在监听的端口后加入http2关键字开启http2。然后nginx重启或者重新加载文件。

进入服务器

server {
	#监听ipv4的443端口并设置允许http2
        listen 443 ssl http2;
	#监听ipv6的443端口并设置允许http2
        listen [::]:443 ssl http2;
	#监听指定的域名
        server_name www.hcworld.xyz; #填写绑定证书的域名
	#设置证书
        ssl_certificate 1_www.hcworld.xyz_bundle.crt;
        ssl_certificate_key 2_www.hcworld.xyz.key;
        ssl_session_timeout 5m;
	#设置支持的TLS版本
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 
	#按照这个套件配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        root   html; #站点目录
            index  index.html index.htm;
            proxy_pass http://www.hcworld.xyz;
        }
    }

三、结果

实现HTTPS以及HTTP2

HTTPS结果查看 HTTP2结果查看

四.博客

公众号:青山有录
Blog:张红尘的个人博客