squid目前已经成为应用最广泛的反向代理加速服务器软件。05年开始一直希望有win32框架下的squid编译并面世。如今在一次偶然的搜索中发现已经有实现咯,并且已经发布了多个稳定的版本。
squid的官方网站
Squid win32平台的官方网站
http://squid.acmeconsulting.it/
通常,我们下载squid for win32的稳定版就可以了。
对于反向代理,有专门的反向代理版本,通常的代理服务器版本,以及支持NTLM验证等多协议的版本(具体没试验过)
实际应用中,我下载了代理服务器版本,配置成反向代理也是ok的。具体两个版本的区别我也不是很清楚。英文好的朋友了解后希望可以也告诉我一下。
这是已经编译好的版本。
下载后,默认需要保存到c:squid
配置squidetcsquid.conf 可以先复制 default文件修改即可
同样etc下另外几个文件了解内容后也同样复制并去掉default后缀
噢,虽然没有实际测试,忽然想起来了,要做反向代理用同一个机器的情况下,需要指定自己的dns或者下载反向代理专用版本(关闭了dns解析功能)
我写这个和其他的讲述squid反向代理最大不同的地方就是讲述一下
httpd_accel_host virtual
httpd_accel_port 81
这两句话的含义
第一句是指定支持虚拟主机,第二句是指定加速的端口,也是源 http服务端口
比如其他linux下的用户喜欢用什么这个那个的转换端口来实现代理,其实squid本身就支持这样很简单的配置来完成这个功能。
比如通过
http_port 80
指定 squid工作在80端口(监听)
通过前面的配置,反向目标是虚拟主机
端口是81
通过
httpd_accel_uses_host_header on
指定请求的头信息转发给源 服务器
通过
error_directory c:/squid/share/errors/Simplify_Chinese
来指定错误信息为中文版
如此一来
请求 www.abc.com 实际被sqiud分析后变成从代理服务器反向请求
这里还有一个问题就是权限控制,这个我就不单独说了,在我的另外一篇文字里有叙述,其他人的关于squid的权限设置也都写的比较明白了
参考: