移植tinyproxy http代理服务器

由于项目需要,要在开发板上运行一个http代理服务器,首先尝试了squid的移植,没成功,最终选择了轻量级的http代理服务器tinyproxy 移植成功,下面就记录一下过程。

开发环境:

PC系统:ubuntu10.04

开发板:mini2440,linux3.11.10

http服务器:PC,ubuntu,apache

总体的框架如图:

移植tinyproxy http代理服务器_第1张图片

http服务器ip:192.168.10.10

开发板:wlan0 ip:192.168.10.11;eth0 ip; 192.168.240.34

客户端ip:192.168.240.144


1.http服务器的搭建

注意:这里搭建服务器是为了进行开发板中的某些测试,正常情况下可以直接登录外网的http服务,可以看下面参考文章中的场景。

搭建过程在这篇博客里面:http://blog.csdn.net/xiaominthere/article/details/21115393

2.tinyproxy移植

2.1源码下载

虽然tinyproxy的源码最新版已经到了1.8.3了,但是在交叉编译时会出错(后来又要用1.8.3的反向代理,所以我又去编译了1.8.3,会有一些修改,过程见后来我的这篇博客http://blog.csdn.net/xiaominthere/article/details/21553521),这里使用1.6.3的,下载网址为:https://files.banu.com/tinyproxy/1.6/tinyproxy-1.6.3.tar.gz

2.2编译

解压../tinyproxy-1.6.3文件夹下

使用命令./configure CC=arm-linux-gcc --host=arm-linux --target=arm-linux

生成Makefile

然后make,make完之后将../tinyproxy-1.6.3/src/下的tinyproxy和../tinyproxy-1.6.3/doc/下的tinyproxy.conf下载到文件夹下的某个文件比如/tmp文件下

注意:在下载之前要对tinyproxy.conf进行一些修改:

(1)

User nobody
Group nogroup

修改为:

User root
#Group nogroup

(2)

Allow 192.168.1.0/25

可根据修改为:

Allow 192.168.0.0/16

就是说在192.168.*.*网段内的都会帮你转发,如果在使用过程中遇到网页“Access denied”错误,一般都是这里需要修改

2.3在开发板中运行tinyproxy

cd /tmp

./tinyproxy -d -c ./tinyproxy.conf &(ps:这里最选择使用&,后台运行,不然的话会阻塞开发板终端界面)

3.客户端设置代理

由于我使用的是firefox,所以设置如下:

编辑->首选项->高级->网络->设置->手动配置代理,IP:192.168.240.34端口:8888

然后在firefox中输入192.168.10.10:80就可以在PC端浏览网页了


参考文档:http://blog.163.com/zhc_mengzhiyi/blog/static/2367910320107382524298/

作者用代理实现了笔记本3G上网,谢谢作者的分享

你可能感兴趣的:(移植tinyproxy http代理服务器)