nginx版本1.18.0,
需要配置ssl和http2,一开始的配置如下:
server { listen 80; listen 443 http2; server_name xxx.com; proxy_read_timeout 600; # ssl ssl_certificate /xxx.pem; ssl_certificate_key /xxx.key; location / { proxy_pass http://xxxx; } }
想当然的任务开了http2也就自动开ssl了,但事实上该配置无法通过https访问,浏览器报错:ERR_SSL_PROTOCOL_ERROR
此站点的连接不安全 ========= **m.farmeb.com** 发送了无效的响应。 ERR_SSL_PROTOCOL_ERROR
把listen 443 http2;改为listen 443 ssl http2;即可,如下:
server { listen 80; listen 443 ssl http2; # 重点。。 server_name xxx.com; proxy_read_timeout 600; # ssl ssl_certificate /xxx.pem; ssl_certificate_key /xxx.key; location / { proxy_pass http://xxxx; } }
如果是低版本nginx的话加“ssl on;”生效。