2015-11-13 更新:本文内容已经过时,并且部分配置可能有潜在的问题,不建议使用,仅供参考。
2014-04-09 更新:升级openssl版本(1.0.1f)、nginx版本,避免heartbleed攻击。
博客启用了强制https访问,来自非搜索引擎的朋友都会被自动跳转到https下。除了传输数据更安全之外,也是为了能够启用SPDY。
说到SPDY还真是蛮头疼,因为用的是nginx,不像apache那样直接有SPDY插件。上网查了下,了解到nginx 1.4.X及以上的版本自带了SPDY/2,然后就去升级nginx了。升级完,写完配置文件,在我重启的时候,突然给我来这么一句
nginx: [warn] nginx was built without OpenSSL NPN support, SPDY is not enabled for 0.0.0.0:443 in …..
似乎是启用SPDY失败了,然后在浏览器中测试,虽然网站可以访问,但并没有启用SPDY。接着就去搜原因,发现竟然是openssl的版本过旧了。旧就升级呗~网上找了些教程去升级,可升级好了再次启动nginx,依然提示这个错误。当时就陷入了迷茫,搞不懂哪里出错了,又查了几遍问题,依然找不到原因,最后只好恢复配置文件放弃了。
第二天(昨天),因为coxxs.me也要启用SSL,又一次在网上查资料,也顺便查了下SPDY,突然发现了这篇文章,看了一下顿悟了,可能是nginx没有配置到最新版的openssl,用的还是旧版,于是稍微修改了下代码,照着他的操作,以下是我的大致流程:
#下载并编译openssl(不安装) cd /root/ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz tar xfz openssl-1.0.1g.tar.gz cd openssl-1.0.1g ./config make #接着结束nginx进程,把/usr/local/nginx重名为nginx_old cd /root/ wget http://nginx.org/download/nginx-1.5.13.tar.gz tar xfz nginx-1.5.13.tar.gz cd nginx-1.5.13 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_spdy_module --with-openssl=/root/openssl-1.0.1g make make install #安装完成后,删除/usr/local/nginx/conf,将/usr/local/nginx_old/conf复制到/usr/local/nginx/conf,重启服务器即可
在nginx相应的.conf里面配置了之后,SSL & SPDY就成功开启了。用Chrome(或开启了SPDY的浏览器)访问本站,是不是快很多了呢?
coxxs blog 复活啦╮(╯3╰)╭
^ ^ 欢迎!
多向有经验的人请教~
= =您好,强烈建议您换个名字,谢谢!
不明觉厉,呵呵呵。
闪星空间也开个SSL吧^^
对收录神马的不好呃。
会判断搜索引擎的,如果是蜘蛛不会启用强制SSL
我一直不认为系统能准确判断的哦。
0 0我是用UA判断的,应该没问题吧。
UA 判断总是不全的,你无法把全部搜索引擎UA都写上。我不喜欢有遗漏的判断。
路过~~围观
=。=欢迎你模仿这个风格!嗯,就是wp默认的,哈哈哈哈
谢谢您的方法
https://kirito.typcn.com/default/using-spdy.html
普通站点搞SSL有嘛意思
想玩的话可以把登录页搞成加密的就可以了
SPDY协议(需要SSL)可以帮助加速。