mod_spdy 安装

红薯 发布于 2012/04/18 16:20
阅读 1K+
收藏 8

mod_spdy 是用于 Apache HTTP 服务器的 SPDY 协议实现模块。

为了安装 mod_spdy 你需要首先安装 mod_ssl 并启用 NPN 支持。你需要对构建和安装软件包的过程熟悉,需要 subversion、g++ toolchain 等。

开始之前还需要了解一些兼容性事宜

0. 前提条件

安装 subversion, curl, 和 gcc/g++ toolchain.

Ubuntu:

sudo apt-get install subversion curl g++ apache2 patch binutils make

你还需要安装 Chromium depot tools 并添加到系统路径变量中。

1. 获取代码

创建一个目录用来存放源码,必须注意的是整个路径名中不能包含有空格。

mkdir mod_spdy
cd mod_spdy
gclient config "http://mod-spdy.googlecode.com/svn/trunk/src"  gclient sync --force
cd src

2. 构建支持NPN的mod_ssl

你可能已经有了一个 mod_ssl.so ,你需要构建一个新的版本以支持 NPN,可使用 build_modssl_with_npn.sh 脚本来实现:

在 mod_spdy 目录中:

./build_modssl_with_npn.sh

等待构建结束。

3. 安装 mod_ssl

将 mod_ssl.so 安装到 apache 的 modules 目录,如果你使用的是 Ubuntu ,那这个目录可能是 /usr/lib/apache2/modules

安装方法:

sudo cp mod_ssl.so /usr/lib/apache2/modules
sudo a2enmod ssl

4. 配置 mod_ssl

生成自签名证书:

sudo apt-get install ssl-cert
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /tmp/selfsigned.crt
# Enter your hostname. Any hostname will do for testing.  sudo mkdir /etc/apache2/ssl
sudo mv /tmp/selfsigned.crt /etc/apache2/ssl
sudo emacs /etc/apache2/sites-available/default-ssl  # Any editor is fine here.  
# 1. Find the line for SSLCertificateFile and update it to:  SSLCertificateFile /etc/apache2/ssl/selfsigned.crt  
# 2. Comment out the line immediately following, for SSLCertificateKeyFile  
sudo a2ensite default-ssl

另外你也可以参考这篇文章

4.5. 验证 mod_ssl 是否工作

首先重启 Apache:

sudo /etc/init.d/apache2 restart

打开任何浏览器,访问 https://yoursite/ 或者 https://127.0.0.1/.

5. 构建 mod_spdy

进入 src 源码目录执行:

make BUILDTYPE=Release

6. 安装 mod_spdy

在 src 目录下执行:

sudo cp out/Release/libmod_spdy.so /usr/lib/apache2/modules/mod_spdy.so
echo "LoadModule spdy_module /usr/lib/apache2/modules/mod_spdy.so" | sudo tee /etc/apache2/mods-available/spdy.load
echo "SpdyEnabled on" | sudo tee /etc/apache2/mods-available/spdy.conf
sudo a2enmod spdy

7. 重启 Apache

sudo /etc/init.d/apache2 restart

8. 使用 Google Chrome 浏览器验证

使用 Chrome 浏览器首先打开 https 验证是否能访问,然后打开另外一个 tab 窗口,访问 chrome://net-internals/#spdy 并确定在表格中包含你的主机名。

注意: SPDY 协议设计当不支持的时候就降级为 SSL,因此你需要确保主机表格中包含你的主机名,如果没有的话你可以检查 Apache 的错误日志看有关 SPDY 的错误信息。

加载中
0
Raynor1
Raynor1
现在这一个协议就只有CHROME和高版本的FIREFOX支持哎。普及还需要时日,嗯。。先收藏了。
0
McAtom
McAtom
试试。。。
0
McAtom
McAtom
在执行 gclient config  "http://mod-spdy.googlecode.com/svn/trunk/src"    gclient  sync   --force 的时候明显是no such option --force    怎么解决啊。。。
0
风中的眼睛
风中的眼睛
记录一下,回头看。
返回顶部
顶部