随着 HTTPS/2 的普及,越来越多网站开启了 HTTPS/2 ,上个月也把自己的网站升级上了 HTTPS/2 。
准备工作
- 要开启 HTTP/2 需要 Nginx 版本在 1.10.0 以上且需要 openssl 版本在 1.0.2 以上编译。
- HTTP/2 只支持开启了 https 的网站
服务器安装的版本刚好都符合要求,所以就直接设置好了 ssl 证书。
配置 HTTP/2
配置 Nginx 开启 HTTP/2 特别简单,只要在 Nginx 配置文件中找到你要开启 HTTP/2 的域名 server 模块,然后将 listen 443 ssl; 改成 listen 443 ssl http2; 即可。
要优化nginx配置可以用 https://mozilla.github.io/server-side-tls/ssl-config-generator/ 这个生成的配置。
server {
listen 443 ssl http2; server_name domain.com;
ssl_certificate /path/to/public.crt; ssl_certificate_key /path/to/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #允许的协议 ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #加密算法(CloudFlare 推荐的加密套件组) ssl_prefer_server_ciphers on; #优化 SSL 加密套件 ssl_session_timeout 10m; #客户端会话缓存时间 ssl_session_cache builtin:1000 shared:SSL:10m; #SSL 会话缓存类型和大小 ssl_buffer_size 1400; # 1400 bytes to fit in one MTU
|