pc端访问网站不支持http2协议
前端vite+vue3+ts+axions
后端nodejs+express
部署到服务器上后使用nginx代理,开了https和http2,但是访问网站时,手机上的浏览器访问时可以看到是http2,但是电脑上却是http1,通过http2的一些验证网站是可以确定服务器是支持了http2,我电脑上访问其他的网站也有http2,可以排除是浏览器的原因


pc端访问网站不支持http2协议
前端vite+vue3+ts+axions
后端nodejs+express
部署到服务器上后使用nginx代理,开了https和http2,但是访问网站时,手机上的浏览器访问时可以看到是http2,但是电脑上却是http1,通过http2的一些验证网站是可以确定服务器是支持了http2,我电脑上访问其他的网站也有http2,可以排除是浏览器的原因


阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题描述:pc端访问网站不支持http2协议,使用vite+vue3+ts+axios前端,nodejs+express后端,部署到服务器上使用nginx代理,开启https和http2,但是手机上的浏览器访问网站时不支持http2协议。
解决方案:
http {
...
http2_max_field_size 1048576;
http2_max_header_size 1048576;
...
}
curl -I -H "Upgrade: h2c" -H "Connection: h2c" https://example.com
如果浏览器支持http2,会返回一个200状态码。如果不支持,会返回一个503状态码。
curl -I -H "Upgrade: h2c" -H "Connection: h2c" https://example.com
如果服务器支持http2,会返回一个200状态码。如果不支持,会返回一个503状态码。
curl -I -H "Upgrade: h2c" -H "Connection: h2c" -H "Alt-Svc: h2://example.com" https://example.com
如果以上步骤都无法解决问题,可以提供更多的日志信息和配置文件,以便更好地 debug。