Techxiu
V2EX  ›  NGINX

关于 Nginx 开启 HTTP/2 的问题

By Techxiu at 2016 年 6 月 17 日 · 12694 次点击

Nginx 版本为 1.11.1 , http_v2 和 http_ssl 这两个模块都有,然后配置文件写了 llisten 443 ssl http2;重启无数次了 但是就是无法启动 http2 这是为什么 9egf.png

9QsP.png

30 条回复  •  2016-06-18 22:47:37 +08:00
fcicq
   1
fcicq  
   2016 年 6 月 17 日   ❤️ 1
chrome 51 的话需要 openssl 1.0.2
jasontse
   2
jasontse  
   2016 年 6 月 17 日 via Android
typo: listen
selinaspy
   3
selinaspy  
   2016 年 6 月 17 日
错误信息呢
maxsec
   4
maxsec  
   2016 年 6 月 17 日   ❤️ 1
qgy18
   5
qgy18  
   2016 年 6 月 17 日 via iPhone   ❤️ 1
直接上网址让大家看看啊。
wsy2220
   6
wsy2220  
   2016 年 6 月 17 日   ❤️ 1
1L 正解
OpenSSL1.02 才支持 ALPN
Techxiu
   7
Techxiu  
OP
   2016 年 6 月 17 日
@fcicq
@maxsec
@qgy18
@wsy2220 用 openssl 1.0.2 重新编译了下成功了 谢谢
qgy18
   8
qgy18  
   2016 年 6 月 17 日 via iPhone
Techxiu
   9
Techxiu  
OP
   2016 年 6 月 17 日
@qgy18 A-很差么 QAQ
qgy18
   10
qgy18  
   2016 年 6 月 17 日 via iPhone
@Techxiu 我刚看还是 F ,应该是你刚升级了 OpenSSL 。
Techxiu
   11
Techxiu  
OP
   2016 年 6 月 17 日
@qgy18 嘛还是谢谢大触了
lujiajing1126
   12
lujiajing1126  
   2016 年 6 月 17 日
chrome51 以后需要支持 ALPN

需要编译新版本的 openssl
caola
   13
caola  
   2016 年 6 月 17 日   ❤️ 1
server {
listen 80;
listen 443 ssl http2;
server_name www.your-domain.com your-domain.com;
index index.php index.html;
root /data/wwwroot/web;

ssl_certificate /path/to/your-domain.crt;
ssl_certificate_key /path/to/your-domain.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #允许的协议
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #加密算法(CloudFlare 推荐的加密套件组)
ssl_prefer_server_ciphers on; #优化 SSL 加密套件
ssl_session_timeout 10m; #客户端会话缓存时间
ssl_session_cache builtin:1000 shared:SSL:10m; #SSL 会话缓存类型和大小
ssl_buffer_size 1400; # 1400 bytes to fit in one MTU

#add_header X-Frame-Options SAMEORIGIN; #拒绝被嵌入框架(iframe …)
#add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"; #强制 SSL(包含子域名),并加入 hsts 列表
add_header X-UA-Compatible "IE=edge,chrome=1"; #IE 用最新内核渲染页面

if ($host != 'www.your-domain.com' ) { return 301 https://www.your-domain.com$request_uri; } #把根域名 301 到 www 开头的域名
if ($ssl_protocol = "") { return 301 https://$host$request_uri; } #如果非 ssl 就 301 到 https

access_log /data/wwwlogs/your-domain.com_nginx.log combined;

#error_page 404 /404.html;

if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}

location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|js|css|ico)$ {
expires 30d;
}
}


chrome 51 以上要使用 openssl 1.0.2 来编译才支持 ALPN 来协商 HTTP2 ,
可以使用 openssl 1.1.0 版本(目前是测试版) ,或者 LibreSSL 来支持 chacha20 加密套件

nginx 可以参考上面的这样配置, 80 和 443 端口不用分开两次写。
zjhzxhz
   14
zjhzxhz  
   2016 年 6 月 17 日
终于从 F 刷到了 A.

Techxiu
   15
Techxiu  
OP
   2016 年 6 月 17 日
@caola 谢谢,学习了
4679kun
   16
4679kun  
   2016 年 6 月 17 日 via Android

DesignerSkyline
   17
DesignerSkyline  
   2016 年 6 月 17 日
@zjhzxhz 域名前几位应该是浙江杭州的拼音缩写?我也在哈尔滨,不知道有没有机会面基吖= =
brobird
   18
brobird  
   2016 年 6 月 17 日
@Techxiu 博客没法评论啊
另外 CDN 用的是啥?
Techxiu
   19
Techxiu  
OP
   2016 年 6 月 17 日
@brobird 无法评论问题解决了, CDN 用七牛
4641585
   20
4641585  
   2016 年 6 月 17 日
根据 qu 大大的教程一步步来就能到 A+。。
zjhzxhz
   21
zjhzxhz  
   2016 年 6 月 17 日 via iPhone
@DesignerSkyline
Bingo ~ 你是杭州的吗😳
你想怎么面基🌚
caola
   22
caola  
   2016 年 6 月 18 日
@zjhzxhz 如果你开启 HSTS 会到 A+,开启 HSTS 后,以后在支持 HSTS 的浏览器中,你无法临时切换到普通的 http ,基本以后都只能是 https
lslqtz
   23
lslqtz  
   2016 年 6 月 18 日 via iPhone
@caola 不敢开 HSTS ,保持 A 丢在那。
对了 BoringSSL 支持 ALPN 嘛
DesignerSkyline
   24
DesignerSkyline  
   2016 年 6 月 18 日
@zjhzxhz 话说工大有类似于 LUG(Linux User Group)之类的社团或者组织吗?
zjhzxhz
   25
zjhzxhz  
   2016 年 6 月 18 日
@DesignerSkyline 不知道~
倒是有一个 run.hit.edu.cn. 应该有一个 LUG 在维护吗?
kkzxak47
   27
kkzxak47  
   2016 年 6 月 18 日 via Android   ❤️ 1
breeswish
   28
breeswish  
   2016 年 6 月 18 日
用 h2o 吧,效率更高,且原生 http/2
tSQghkfhTtQt9mtd
   29
tSQghkfhTtQt9mtd  
   2016 年 6 月 18 日 via Android
@4679kun HTTPSECURITYREPORT 这个站 98 分简直 6 。。
iugo
   30
iugo  
   2016 年 6 月 18 日
Firebase Hosting 是 A+.
CloudFlare 是 A.
› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
© 2026 V2EX · 72ms · 3.9.8.5