使用Ziproxy图像压缩优化功能配合Squid3实现缓存加速

Ziproxy是转发,非缓存,压缩HTTP代理服务器。其可以压缩图像转换到低质量JPEG文件或JPEG 2000和压缩( gzip或) HTML和其他文字样的数据,同时还可以提供 HTML/CSS/JS 的优化,主动的主机名称解析,透明代理等功能。

之前我将Raspberry Pi(树莓派)配置了Squid3缓存代理,然后注意到了Ziproxy这款软件,因为Ziproxy没有缓存功能,所以考虑将Ziproxy和Squid3配合起来实现压缩兼缓存的上网加速功能,首先要考虑将Ziproxy放在Squid3之前还是之后,当然这两种不同的放置方法可能有不同的效果,鉴于部署的便捷性考虑,我将Ziproxy放置在Squid之前,也就是Internet - Ziproxy - Squid3 - Client。假设你已经安装好Squid3并配置好防火墙,接下来我将简单介绍一下Ziproxy的安装部署过程。

继续阅读

检测并修复OpenSSL Heartbleed漏洞

这个漏洞已经出来好长时间了,自己也一直没有能够引起重视,今天看到有一款扫描检测工具CROWDSTRIKE HEARTBLEED SCANNER可以检查主机是否存在此类漏洞,然后就下载下来试了试,结果本博客直接躺枪。想想还是别拖着了,遂动手修复,其实修复的过程很简单,这里简要说明如下:

由于我使用的是Debian系统,所以这里主要记录的是Debian系统下的OpenSSL升级。

对于图省事的朋友来说,下面的命令可以轻松解决大多数问题:

sudo apt-get update
sudo apt-get upgrade

这两句命令其中第二句将升级系统中所有可更新的软件,但是有过之前惨痛的服务器升级经历后我觉得还是不能轻举妄动,所以再查阅网络后我采取特定升级的方法:

sudo apt-get update
sudo apt-get install openssl libssl1.0.0

继续阅读

Debian系统SquidGuard结合Squid3进行上网行为管理(网页过滤)

之前有一篇文章介绍如何在树莓派(Raspberry Pi)上架构基于Squid3的透明代理。在文章后面讲到了如何利用广告黑名单进行广告过滤,但是这个方法比较局限,特别是没有分类要过滤的网页类型。

我今天要讲解的是利用Squid的一个插件(姑且这么称呼吧,因为这个软件是随Squid启动而启动的)SquidGuard,该软件会在Squid3处理请求的时候检查SquidGuard所管理的网站分类数据库,并根据自定义的规则进行转向(Redirect)拦截。

今天我们实验的平台依旧是树莓派(Raspberry Pi)的Raspbian,首先用apt-get先安装:

sudo apt-get install squidguard

继续阅读

Debian完全卸载清理并重新安装MySQL服务器

之前服务器上配置测试用的服务环境,我偷懒顺手用网上现成的脚本进行安装,结果MySQL启动不了,于是我只有老老实实的重新安装MySQL Server,原本以为apt-get --purge这类命令可以很好的帮我解决这个问题,于是我通过下面的命令重新安装:

sudo apt-get --purge remove mysql-server
sudo apt-get install mysql-server

然后再一次的启动MySQL,仍然失败报错,搜索网络依旧是提示重新安装MySQL服务程序,看样子是上面卸载命令不能很好的清理安装残余,最后找到这么一篇文章《MySQL Problems – a complete reinstall》。找到了完全清理卸载干净MySQL的办法,记录在这里供备忘。

继续阅读

解决项目依赖库缺少相关源文件导致无法编译的问题

项目在本机测试正常,准备先部署到测试服务器上供内部测试用,结果在部署设置环境时出现了错误。

主要是在easy_install所用到的Python库时编译出错导致的compilation terminated。经过调试找到了相关的解决方案,记录在这里算是个备忘。

在编译bcrypt时出现的错误:

fatal error: ffi.h: No such file or directory

通过下面的命令安装开发源文件解决:

sudo apt-get install libffi-dev

继续阅读

Debian/树莓派Raspberry Pi加速上网体验之设置Squid3透明代理

上一篇文章介绍了如何通过设置DNS服务器来加速上网体验,今天我要向大家介绍的是如何设置透明代理实现HTTP的缓存,稍后将介绍如何过滤屏蔽相关广告站点。

首先我们已经配置好了无线热点,如果不清楚的话可以参考我前面的文章,配置好的效果是通过无线网卡连接到树莓派,然后流量经过wlan0网卡转到eth0然后出口,也就是说eth0相当于我们路由器的WAN口,而wlan0相当于局域网LAN口,理清这个关系后下面我们继续。

首先要安装squid3,这里可以直接通过下面的命令进行:

apt-get install squid3

继续阅读

Debian/树莓派Raspberry Pi加速上网体验之设置公共DNS查询服务器

之前我有一篇文章将树莓派(Raspberry Pi)设置为无线路由的,试用了一段时间觉得效果不错,但是总觉得树莓512MB内存仅仅作为路由太浪费了,于是我就想能不能将DNS公共查询服务器也架设在上面,这样常用的DNS查询将会缓存到树莓派上,也起到DNS查询加速的作用。

首先我找到了网上的解决方案,在树莓讨论版上《[HOW TO] Use your RPI as a DNS server and speed up yo’ net!》,当然这个解决方案是基于这篇文章的《DNS on Raspberry Pi — Speed up your internet Experience》,使用树莓派最大的好处是有强大的社区支持,基本上你所遇到的问题网上都有相关的解决方案,得益于Debian的丰富的包,一些软件可以直接apt安装,我在这里再简单的阐述一下关于DNS公共查询服务器的设置:

原作者为我们直接打包了命令,所以我们可以直接执行下面的代码:

继续阅读

Debian/Raspberry Pi通过编译的方式安装第三方锐捷(Ruijie)拨号MentoHUST

首先感谢华中科技大学的同学们的贡献,这篇文章没有什么技术含量,大部分内容MentoHUST的主页上都有介绍,详细可以点击这里。我这里主要介绍一下我在Raspberry Pi树莓派上手动编译以及编译过程中遇到的问题,算是做个备忘。

首先我们需要安装svn工具以便于checkout项目代码:

sudo apt-get install subversion-tools

下一步便是从代码库中Check out,然后运行autogen.sh配置脚本:

svn checkout http://mentohust.googlecode.com/svn/trunk/ mentohust
cd mentohust
sh autogen.sh

继续阅读

将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就想能不能让我的树莓派代劳,当然首先要将其改造为路由器,默认自带的网口作为WAN口,我们还缺一个网口,木有办法,只好占用一个USB口,接上一个USB网卡,网上的USB转RJ45网线口的适配器比较少,价格也不便宜,于是就考虑干脆将其改造成无线路由,也符合时下高端大气上档次的标准。

准备工作,当然要先去购买一个USB无线网卡,可以购买的型号比较多,Raspberry Pi官方也提供了兼容性列表供大家参考,具体猛击这里。我这里购买的是网件(Netgear)WNA1000M 150M迷你USB无线网卡

较为官方的介绍配置为无线热点的文章莫过于这一篇《RPI-Wireless-Hotspot》。但是实际配置下来始终无法成功。但是无线网卡确实能够被识别,可以通过lsusblsmod查看到,不过我注意到这款无线的芯片型号是RealTek RTL8188CUS,初步怀疑是驱动问题。

继续阅读

服务器迁移重新配置Web服务的一些细节备忘

之前配置Linux服务器时采用的是Debian系统一直很稳定,这次准备迁移到新的服务器环境上,好在以前的配置我在博客都做了备忘,所以很容易就搞定了,这次服务系统采用的是最新的Debian 7.0,但是有几个细节的忽略导致我折腾了一番,我再这里再做个记录吧:

首先要安装编译环境,虽然我们通过apt-get可以方便的绕过手动编译的环节,但是一些程序包可能内置编译命令,可以编译一些扩展程序,如果不安装编译环境,这些扩展程序将失效。通常通过下面的命令直接安装开发编译套件:

apt-get install build-essential

由于部分app是用Python开发的,而其所依赖的包包含可以提高性能的扩展,但是在编译时出现下面的错误:

src/XXX.c:31:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1

继续阅读