阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 8511阅读
  • 5回复

[网络/安全]在 Apache 上部署 HTTP/2

级别: 论坛版主
发帖
9349
云币
14165
(ZQ{%-i?qR  
'IP'g,o++  
前言 ;j=/2vU~@  
nginx在这里:[font=微软雅黑, 'Microsoft Yahei', 'Hiragino Sans GB', tahoma, arial, 宋体]在 Nginx 上部署 HTTP/2 xB]~%nC[O  
5fv eQI~!  
Apache Httpd 终于也推出对 HTTP/2 的支持了,在 2.4.17 包括之后的版本中我们都可以使用 HTTP/2 这一先进的 mod 了,因为是默认就可以被编译的,所以 在 Apache 上折腾 HTTP/2 真是比折腾 spdy 要方便太多。 T nAd!  
d~C YZ  
内容 wfM$JYfI  
] M "{=z  
引用
*) mod_http2: added donated HTTP/2 implementation via core module. Similar configuration options to mod_ssl. [Stefan Eissing]
vmAMlgZ8{<  
这是 Apache Httpd 2.4.17 的 CHANGES 的介绍。 =+~e44!~D  
注:Apache Httpd 对 HTTP/2 的支持还需要版本大于 1.0.2 的 openssl 和 libnghttp2 库的支持。 '[I_Iu#,  
注:如果 Centos 的软件库中没有 libnghttp2 库,那么需要安装 epel 源。 i96Pel  
Xw`vf7z*  
安装h2 Ge@./SGT  
epCU(d*b  
P .3j |)NW  
gQ.yNe  
软件源 uTA /E9OY  
`"H!=`  
5,I'6$J  
这是一个很重要的 mod 所以那些最新的 linux 发行版的软件 package 中的 apache httpd 都是默认编译好了 h2 模块的。
  • Arch Linux 最新版本已经上了 2.4.17
  • Fedora Rawhide 也上了 2.4.17,未来的 Fedora 23 正式版肯定也是会上 2.4.17 的
  • Ubuntu 系统可以使用 ppa:ondrej/apache2 源,也可以安装 2.4.17
3qiE#+dC  
L-^vlP)Vu  
T2Z;)e$m_  
https://www.vobe.io/390 +Q If7=  
[ 此帖被ivmmff在2015-10-30 12:38重新编辑 ]
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 沙发  发表于: 2015-10-28
编译 yE. ZvvQA  
c{ +Y $  
4Fgy<^94`  
在你原来的编译参数中加入:--enable-http2 ,这里解释一下编译参数:(请原谅我的英语不好) q]`XUGC  
--enable-http2 Xd!=1 ::  
让 Apache Httpd 可以实现 HTTP/2 协议 &JVe -.  
--with-nghttp2=<dir> %($sj| _l  
自定义你 libnghttp2 的安装目录 Z6 E-FuO  
6(f[<V!r  
Windows l[fU0;A  
.-k\Q} D  
wwF]+w%lOw  
目前 XAMPP 的最新安装包默认就是 2.4.17 ,且有 http2 mod。 upupw 暂时还没有。 @f-0OX$*  
^ D/:[  
设置 !ANvXPp  
=mxmJFA  
lBvQ?CJ<y  
WFocA:  
软件源 {*bXO8vi((  
S^]i  
N1jj\.nB  
通过软件源安装的用户,需要在 /etc/apache2/mods-enabled 或者 /etc/httpd/mod-enabled 中创建一个 http2.load ,里面加入LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so FZ DC?  
然后保存,重启 服务。 wLAGe'GX  
/>S=Y"a/7  
编译/windows we9R4 *j  
w^sM,c5d  
j)?I]j/  
httpd.conf 中,找到#LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so \::<]  
将前面的 # 取消,如果没有这句话,就直接添加去掉 # 后的语句。 7z9gsi  
然后保存,重启服务。 7rw}q~CE5  
lwIU|T<4  
开启 h2 `PnB<rf:*1  
):E4qlB  
8 C@iD%  
编辑对应的 vhost 文件,找到 443 端口的地方,加入: *q{/`Z{wy  
  1. <VirtualHost x.x.x.x:443 >
  2. ProtocolsHonorOrder
  3. OnProtocols h2 h2c http/1.1
  4. ………………
  5. </VirtualHost>
ZMQSy7  
a$.(Zl  
i=#<0!m  
其实 80 端口也可以加入 Protocols h2c http/1.1 ,但是暂时没有浏览器加入对 80 端口的 http/2 支持。 ^CX=<  
还是那句话,不要忘记重启。 c~[L ;_  
r5t C  
查看 b/5  
\74+ cN  
LRW7_XYz  
chrome 浏览器可以在 chrome://net-internals/#http2 中查看,使用 http/2 的网站,看看有没有你添加的。 Ho9 a#9  
也可以通过 curl 来查看:curl -v --http2 http://<yourserver>/ r%A-  
[ 此帖被ivmmff在2015-10-28 13:21重新编辑 ]
级别: 总版主
发帖
7170
云币
15705

只看该作者 板凳  发表于: 2015-10-28
很不错的教程
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 地板  发表于: 2015-10-28
回 2楼(梦丫头) 的帖子
多谢梦姑赏识~~
级别: 论坛版主
发帖
3414
云币
8980

只看该作者 4楼 发表于: 2015-10-28
我以为这样就完了 原来二楼还有 虽然怎么用  apche
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 5楼 发表于: 2015-10-28
回 4楼(小柒2012) 的帖子
虽然怎么用  apche c69M   
cwKOE?!  
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 62 - 24 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)