Nginx ALPN支持-在线测试是否正确?

Nginx ALPN支持-在线测试是否正确?,nginx,openssl,alpn,libressl,Nginx,Openssl,Alpn,Libressl,我正在使用最新的libressl2.5.3检查NGINX上的ALPN支持。我想我的设置都是正确的,但是当我尝试从以下位置进行测试时: 告诉我:是的!域支持HTTP/2.0 "ALPN is not supported" 相反,当我尝试用opnessl进行本地测试时,我们可以看到alpn在版本h2中是正确的 #openssl s_client -alpn h2 -connect domain:port | grep ALPN depth=2 O = Digital Signature Trus

我正在使用最新的libressl2.5.3检查NGINX上的ALPN支持。我想我的设置都是正确的,但是当我尝试从以下位置进行测试时:

告诉我:是的!域支持HTTP/2.0

"ALPN is not supported"
相反,当我尝试用opnessl进行本地测试时,我们可以看到alpn在版本h2中是正确的

#openssl s_client -alpn h2 -connect domain:port | grep ALPN
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = fbrqx.com
verify return:1
ALPN protocol: h2
我做错了什么

keycdn提供的信息是否正确

谢谢


Ricardo/Brqx.

今天,keycdn工作了,告诉我们ALPN得到了支持

在这里,我们可以看到libressl信息(因此,使用2.5.3版本[2017年4月],您可以测试openssl):

如何测试服务器:

1.从服务器(使用openssl客户端)

这是haproxy上的配置(我的想法是在HA和Nginx之间使用SSL层,这样就可以在世界各地的不同服务器中使用)

现在每个人都可以使用http2和alpn使用Haproxy、Nginx和Libressl2.5.3

要检查的有趣URL:

致以最良好的祝愿


Ricardo/Brqx.

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另外,看而不是告诉是没有用的,为什么你不看是一个问题,有一个非常有用的解决办法。什么地方当然不是正确的,但对人们来说,知道正确的地方是复杂的。更具价值的是,一个好的解决方案将对其他用户有很大帮助。这个问题可能对其他人有用,但对于本网站来说,这是一个离题的问题。将其放置在主题所在的站点上。你有两个网站,很可能是关于这个话题的。您可能还对以下内容感兴趣,在这里详细讨论了这些内容。
openssl version -a
LibreSSL 2.5.3
built on: date not available
platform: information not available
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: information not available
OPENSSLDIR: "/PATH/libressl/libressl-2.5.3/.openssl/etc/ssl"
openssl s_client -alpn h2 -connect DOMAIN:PORT -status

New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
ALPN protocol: h2
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
    Session-ID: 1FB23766E93F4983F3218F3E1C0058947DD60BEEB414CA50BDDF9009299A273B
    Session-ID-ctx: 
    Master-Key: BBCC316C78C85C90066F660A5C1018F5F71CEADFF13AC406758BA06B0D07A5FFCF21395657CFF1B42760C371EE70281D
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 06 48 61 b7 a7 63 23 ad-6a cf f9 47 39 49 c0 1a   .Ha..c#.j..G9I..
    0010 - b3 04 db ea 02 2e 46 a9-9a 6b 02 de b5 e9 bb c4   ......F..k......
    0020 - 68 71 ba b2 62 27 08 76-f0 cb cb e6 e5 7d 4a 50   hq..b'.v.....}JP
    0030 - f8 4d 40 24 2a 35 2a 7e-03 5b bc 27 73 7d 1a 14   .M@$*5*~.[.'s}..
    0040 - f3 86 9d d9 33 42 49 c7-93 28 a0 f9 e3 4a cb 93   ....3BI..(...J..
    0050 - 4d e7 43 bf 8d 8b 9d 3b-06 47 04 77 ca ca 0b 56   M.C....;.G.w...V
    0060 - fc 6c ff 0d ac 69 7c b3-bb 6f fb 35 d5 75 7d aa   .l...i|..o.5.u}.
    0070 - d3 34 e1 04 f9 85 06 50-a2 3d 12 8d 69 39 53 32   .4.....P.=..i9S2
    0080 - c7 c4 f3 84 93 fb 87 8c-48 a2 7b 8f 35 5a c0 4f   ........H.{.5Z.O
    0090 - 3c 58 39 3d 5d cf b1 10-b4 fa 19 9d 43 f2 09 c7   <X9=].......C...

    Start Time: 1493112423
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
server {
    index index.html index.htm index.php;

    # Direct http2 
    listen      IP:PORT ssl http2;

    # Haproxy redirection
    listen      IP:PORT  http2 proxy_protocol;
...
frontend ABC
    mode tcp
#   Works with http11
#    bind 0.0.0.0:PORT ssl crt /etc/haproxy/certs/DOMAIN.pem alpn http/1.1

#   Works with http2 and http11
    bind 0.0.0.0:PORT ssl crt /etc/haproxy/certs/DOMAIN.pem alpn h2,http/1.1 ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA


    reqadd X-Forwarded-Proto:\ https

   use_backend proxy_nginx if { ssl_fc_alpn -i h2 }

   default_backend nginx

backend nginx
   mode tcp
   server server_nginx IP:PORT check ssl verify none

backend proxy_nginx

   mode tcp
   server proxy_nginx IP:PORT check send-proxy
...