首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
华为云
V2EX  ›  NGINX

访问 a.com 会报错 ERR_SSL_PROTOCOL_ERROR,但访问 www.a.com 没有问题,可能是哪些方面的错误?

  •  
  •   fourstring · 124 天前 · 1250 次点击
    这是一个创建于 124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。web server 使用的是 nginx-1.15.0,证书是用 certbot 签发的普通 SAN 证书,只包含了 a.comwww.a.com

    nginx -V 输出如下:

    nginx version: nginx/1.15.0
    built by gcc 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
    built with OpenSSL 1.1.1-pre7 (beta) 29 May 2018
    TLS SNI support enabled
    configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_v2_module --with-openssl=../openssl-1.1.1-pre7 --with-openssl-opt=enable-tls1_3 --add-module=../nginx-ct
    

    nginx 配置如下:

    server {
        server_name a.com www.a.com;
        listen               443 ssl http2;
        root /home/wwwroot/hexo;
        server_tokens        off;
        ssl_ct on;
        ssl_certificate      /etc/letsencrypt/a.com.rsa.pem;
        ssl_certificate_key  /etc/letsencrypt/a.com.rsa.key;
        ssl_ct_static_scts   /etc/letsencrypt/scts/a.com;
    
        ssl_certificate      /etc/letsencrypt/a.com.ecc.pem;
        ssl_certificate_key  /etc/letsencrypt/a.com.ecc.key;
        ssl_ct_static_scts   /etc/letsencrypt/scts/a.com;
        ssl_dhparam          /etc/letsencrypt/dhparams.pem;
        ssl_ciphers 'TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers  on;
        ssl_ecdh_curve secp384r1;
        ssl_protocols              TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_session_cache          shared:SSL:50m;
        ssl_session_timeout        1d;
        ssl_session_tickets        on;
        ssl_stapling               on;
        ssl_stapling_verify        on;
        resolver                   8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout           10s;
        add_header    Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
        add_header    Public-Key-Pins 'pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";pin-sha256="Fbs+o+IxVNTHBpjNQYfX/TBnxPC+OWLYxQLEtqkrAfM=";max-age=2592000; includeSubDomains';
        index index.html;
        location / {
            expires 120s;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
        expires 30d;
        access_log off;
        }
    location ~ .*\.(js|css)?$ {
        expires 7d;
        access_log off;
        }
    }
    
    

    请问可能存在哪些方面的问题?多谢各位指点。

    21 回复  |  直到 2018-06-14 08:58:23 +08:00
        1
    qiayue   124 天前   ♥ 1
        2
    Servo   124 天前   ♥ 1
    1、HPKP 已经凉了,没必要配置了。
    2、letsencrypt 自带 SNI 了,没必要配置了。
    3、TLSv1 TLSv1.1 两个没必要支持了。
    4、ssl_ciphers 关于 TLS 1.3 的部分无意义。
    5、不配置 80 端口真的大丈夫?
    6、编译时不用加 --with-openssl-opt=enable-tls1_3
        3
    fourstring   124 天前
    @qiayue #1 我所有的 https 服务都打开了 ssl_session_tickets on 的……
        4
    fourstring   124 天前
    @qiayue #1 而且我访问带 www 的就没问题,但主域名就会报错……
        5
    fourstring   124 天前
    @Servo #2 请问不配置 TLS13 的 ciphers 的话是否可以支持 tls1.3 ?
        6
    wvc   124 天前 via Android
    443 端口只绑定一个域名,然后 80 端口绑定两个,全部 301 到 443 的域名。
        7
    Servo   124 天前 via Android   ♥ 1
    @fourstring Nginx 现在不支持近几个 pre 的密码套件配置,你大可删掉自己试一试。到底支持不支持,取决于你的浏览器支不支持 Draft 26/27/28。
        8
    caola   124 天前   ♥ 1
    @Servo tls1 和 tls1.1 都不用考虑的话,那么 rsa 的证书也没必要多此一举了,
        9
    caola   124 天前   ♥ 1
    不过只是个人博客的话,放弃支持 tls1 tls1.1 和 rsa 也无所谓了,毕竟这部分的用户比率,已经可以忽略不计了
        10
    wql   124 天前 via Android   ♥ 1
    Letsencrypt 自带 sct,所有和 sct 有关的全部去掉。
        11
    fourstring   124 天前   ♥ 1
    @wql #10 现在 letsencrypt 已经支持 CA 端的 CT 了?
        12
    3dwelcome   124 天前 via Android
    楼主找到问题的原因了吗?回帖真能东拉西扯啊,没一个回答问题的。
        13
    fourstring   124 天前
    @3dwelcome #12 按照上面各位的建议操作了一下,这个问题暂时不见了……我还不知道问题在哪
        14
    Tink   124 天前 via iPhone
    80
        15
    msg7086   123 天前   ♥ 1
    TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256

    这两个好像是无效 cipher 吧?



    Valid TLSv1.3 ciphersuite names are:

    TLS_AES_128_GCM_SHA256
    TLS_AES_256_GCM_SHA384
    TLS_CHACHA20_POLY1305_SHA256
    TLS_AES_128_CCM_SHA256
    TLS_AES_128_CCM_8_SHA256
    An empty list is permissible. The default value for the this setting is:

    "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256"
        16
    fourstring   123 天前
    @msg7086 #15 https://www.openssl.org/blog/blog/2018/02/08/tlsv1.3/

    OpenSSL has implemented support for five TLSv1.3 ciphersuites as follows:

    TLS13-AES-256-GCM-SHA384
    TLS13-CHACHA20-POLY1305-SHA256
    TLS13-AES-128-GCM-SHA256
    TLS13-AES-128-CCM-8-SHA256
    TLS13-AES-128-CCM-SHA256

        17
    msg7086   123 天前
    @fourstring 那篇文章已经过时了→_→
        18
    fourstring   123 天前
    @msg7086 #17 请问哪里可以找到最新信息?
        19
    msg7086   123 天前   ♥ 1
    文章第一行「 See here for the latest version 」。
        20
    fourstring   123 天前
    @msg7086 #19 噗……好吧是我没看仔细
        21
    wql   123 天前 via Android   ♥ 1
    @fourstring 对的,证书开始嵌入 SCT 了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1902 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 25ms · UTC 15:33 · PVG 23:33 · LAX 08:33 · JFK 11:33
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1