宝塔用户_birlci 发表于 2024-9-5 02:09:01

【待反馈】http3到底怎么设置?

1、宝塔9.1.0最新版,服务器debian12,nginx1.26急速安装的。新建一个二级域名111.itlu.xyz,正常解析,配置ssl证书。2、443端口开了udp,tls只用的1.3
3、在第三方网站https://http3.wcode.net/和http3check.net全都检测通过的,而且访问一些支持h3的网站,在谷歌浏览器(最新版)控制台上能看到走的h3协议(没开代理,我知道开代理会影响使用h3协议)

4、网站配置也加了,二级域名也开启了https,正常能访问,
    listen 443 ssl;
    listen 443 quic reuseport;
    listen [::]:443 ssl;
    listen [::]:443 quic reuseport;

5、但是,不管怎么样测试 111.itlu.xyz都是只用的h2协议,还有什么原因是没走http3流量的


运维技术阿闯 发表于 2024-9-5 11:07:27

您好,您这边是不是设置重定向了,导致显示的f12信息有404的情况
参考链接
https://yunsin.top/blog/knowledge/enable-http3/

宝塔用户_birlci 发表于 2024-9-7 17:58:08

运维技术阿闯 发表于 2024-9-5 11:07
您好,您这边是不是设置重定向了,导致显示的f12信息有404的情况
参考链接
https://yunsin.top/blog/knowle ...


404是因为没有加载域名图标,这就是个测试页面,也没有图标。
我按照教程的方法又改了下,还是不行,

运维技术阿闯 发表于 2024-9-9 12:05:26

宝塔用户_birlci 发表于 2024-9-7 17:58
404是因为没有加载域名图标,这就是个测试页面,也没有图标。
我按照教程的方法又改了下,还是不行,



您好,您这边截图一下您按照教程配置的

123fire 发表于 2024-10-3 14:33:58

看看这个:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=136658

宝塔用户_jpbgem 发表于 2024-10-13 23:07:15

会不会是端口的问题,我放开443的UDP端口后正常了。
参考:https://pangsuan.com/p/http3_quic.html

运维技术阿闯 发表于 2024-11-4 15:40:31

您好,您的问题解决了吗

宝塔用户_oetxci 发表于 2024-12-12 18:00:57

宝塔配置站点启用SSL之后默认配置如下:
server
{
                listen 80;
    listen 443 ssl;
    listen 443 quic reuseport;
    http2 on;
    server_name h.a.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/h_a_com;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/h.a.com.conf;
    #CERT-APPLY-CHECK--END

    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
      rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/h.a.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/h.a.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_tickets on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
    error_page 497https://$host$request_uri;

    #SSL-END

    #ERROR-PAGE-START错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    #PHP-INFO-STARTPHP引用配置,可以注释或修改
    include enable-php-80.conf;
    #PHP-INFO-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/h.a.com.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
      return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
      allow all;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
      return 403;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
      error_log /dev/null;
      access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
      expires      12h;
      error_log /dev/null;
      access_log /dev/null;
    }
    access_log/www/wwwlogs/h.a.com.log;
    error_log/www/wwwlogs/h.a.com.error.log;
}
这个配置就会如你所述一样的现象,修改为
server
{
        listen 80;
    listen 443 ssl;
    listen 443 quic reuseport;
    http2 on;
    server_name h.a.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/h_a_com;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/h.a.com.conf;
    #CERT-APPLY-CHECK--END

    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
      rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/h.a.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/h.a.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_tickets on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    #add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
    add_header Alt-Svc 'h3=":443"; ma=86400';
    error_page 497https://$host$request_uri;

    #SSL-END

    #ERROR-PAGE-START错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END

    #PHP-INFO-STARTPHP引用配置,可以注释或修改
    include enable-php-80.conf;
    #PHP-INFO-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/h.a.com.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
      return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
      allow all;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
      return 403;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
      error_log /dev/null;
      access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
      expires      12h;
      error_log /dev/null;
      access_log /dev/null;
    }
    access_log/www/wwwlogs/h.a.com.log;
    error_log/www/wwwlogs/h.a.com.error.log;
}

即可显示H3,添加部分如下:
1. 添加:add_header Alt-Svc 'h3=":443"; ma=86400';
2.在如上的这行上面的一行 add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';注释掉或是不注释掉都可以
浏览器访问

注意一定要放行:UDP 443端口。

页: [1]
查看完整版本: 【待反馈】http3到底怎么设置?