在Windows下利用Squid开设代理服务器

 更新时间:2016年9月20日 19:01  点击:1572

unix/linux下大名鼎鼎的开源免费代理软件squid(www.squid-cache.org)是有windows的native版本squidnt。既然如此,squid一出,谁与争锋?

squid在windows下的安装配置同样简单,包括一下几步:

1. 下载squid

可以下载源码自己编译,当然更方便的就是直接下载二进制文件了。下载列表在这里:http://www.acmeconsulting.it/squidnt/,或者直接从下面链接:

squid-2.6 – squid-2.7

2.安装与配置

安装配置过程很简单。

安装:直接解压缩前面下载到的zip文件到c:squid

配置:

到c:squidetc目录下,复制squid.conf.default为squid.conf,mime.conf.default为mime.conf,cachemgr.conf.default为cachemgr.conf。如果有特殊的配置要求,可以修改squid.conf,squid的默认端口是3128,我们这里需要修改一下这一行:

http_port 3128 改为 http_port 25

服务安装与初始化:到c:squidsbin目录,执行以下命令:

安装服务:squid –i

初始化缓存目录结构:squid -z

好了,大功告成,是不是比ccproxy的配置还要简单啊,重启机器或者命令行执行“ net start squid”启动服务,然后通过代理访问 ,是不是很方便快捷啊

xdebug 是一个 php教程 代码的调试工具, 对程序员调试程序有很大的帮助, 下面简单说下 xdebug 在 windows 下的配置.
1. 下载xdebug二进制文件: http://www.xdebug.org/download.php
  5.2 http://www.xdebug.org/files/php_xdebug-2.1.0-5.2-vc6.dll
  5.3 http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll
2. 找到php.ini
3.  如果配置过 zendoptimizer, 需要先屏蔽 zendoptimizer 有关的配置, 通常如下:
  [zend]
  zend_extension_manager.optimizer_ts="pathzendoptimizer-3.3.0liboptimizer-3.3.0"
  zend_extension_ts="pathzendoptimizer-3.3.0libzendextensionmanager.dll"
4. 加入 xdebug 配置:
  zend_extension_ts="path/xdebug/php_xdebug-2.1.0-5.2-vc6.dll&q

3proxy是俄罗斯人开发的(怎么又是俄罗斯人,前面nginx),主页在www.3proxy.ru。

3proxy支持windows和linux等各种平台。windows下直接下载安装即可,linux下面需要自己编译。

虽然是编译安装,但是也是毫不费力。

下载、编译、安装:

wget http://www.3proxy.ru/current/3proxy-0.7-devel.tgz

tar zxf 3proxy-0.7-devel.tgz

cd 3proxy-0.7

make –f makefile.linux

make –f makefile.linux install

好了,下面是配置过程:

cp cfg/3proxy.cfg /etc/3proxy.cfg

vi 3proxy.cfg

配置文件的说明相当详细,用户验证的手段也非常简单。

#!/usr/local/bin/3proxy
nserver 64.79.200.111
nserver 64.79.200.113
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
users user1:cl:****
daemon
log /var/log/3proxy/3proxy.log d
logformat "- +_g%t.%. %d %c tcp_miss/200 %i %1-1t %2-2t %u direct/%r application
/unknown"
archiver rar rar a -df -inul %a %f
rotate 30
auth strong

external 111.111.122.111
internal 192.168.1.8

auth strong
deny * * 127.0.0.1,192.168.1.1
allow * * * 80-88,8080-8088,8001-8010 http
allow * * * 443,8443,8001-8010 https教程
proxy –n
socks

然后运行下面命令。

/usr/local/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg

如果需要开机启动,在/etc/init.d/中建立相关的命令并加到启动即可。

vps已经很久了,但是因为需要特殊端口开服务,所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房,速度还不错。

因为对系统性能要求很低,所以选择了link-1,2.5g硬盘、64m内存、100gb流量、1个独立ip。
使用优惠码9dmm7r可以有10%的折扣,vps教程link.com。当然也可以找更大折扣的优惠码,但是一般只限3个月内。
在vpslink后台安装os,选择ubuntu9.04,一分钟后系统装完了,ssh登录root。
工作1:配置web服务器
为了调试程序,支持php教程的web服务器还是需要的。内存太小所以抛弃了一直以来的apache,改用nginx,并且通过fast-cgi来支持php。vpslink提供了ubuntu的源镜像,速度没的说。
(1)一步到位,安装nginx和php

apt-get install nginx php5-cli php5-cgi php5-mysql教程

(2)因为需要spawn-fcgi来启动fast-cgi,所以安装lighttpd,并设置为开机不启动

apt-get install lighttpd

(3)配置fast-cgi

在/etc/init.d/下建立php-cgi的服务文件,简单起见,可以直接copy nginx的来修改

cp nginx php-cgi

vi php-cgi,修改对应参数

daemon=/usr/bin/spawn-fcgi
daemon_opts=”-a 127.0.0.1 -p 9000 -c 10 -u www-data -f /usr/bin/php-cgi”

修改stop时的动作为:pkill -9 php-cgi

保存,退出。

(4) 配置nginx,打开php支持

vi /etc/nginx/sites-available/default

index中增加index.php,并将相关php部分注释取消,注意需要修改fastcgi_param的路径

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_filename /var/www/nginx-default$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

(5) 启动服务

/etc/init.d/php-cgi start

/etc/init.d/nginx start

web服务器就配置完了。

工作2:配置squid代理服务器

这才是主要目的,要不也不用特意选择xen的vps了。下回再说。

安装很简单:apt-get install squid

配置中的重点是打开用户验证。

通过htpasswd建立用户名密码文件,然后在squid的配置文件中设置。

http_port 3128
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid.password
auth_param basic children 5
auth_param basic realm hamo's private proxy
auth_param basic credentialsttl 4 hours

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # rfc1918 possible internal network
acl localnet src 172.16.0.0/12 # rfc1918 possible internal network
acl localnet src 192.168.0.0/16 # rfc1918 possible internal network

acl ssl_ports port 443 # https教程
acl ssl_ports port 563 # snews
acl ssl_ports port 873 # rsync
acl safe_ports port 80 # http
acl safe_ports port 21 # ftp
acl safe_ports port 443 # https
acl safe_ports port 70 # gopher
acl safe_ports port 210 # wais
acl safe_ports port 1025-65535 # unregistered ports
acl safe_ports port 280 # http-mgmt
acl safe_ports port 488 # gss-http
acl safe_ports port 591 # filemaker
acl safe_ports port 777 # multiling http
acl safe_ports port 631 # cups
acl safe_ports port 873 # rsync
acl safe_ports port 901 # swat
acl purge method purge
acl connect method connect

acl normal proxy_auth required

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safe_ports
http_access deny connect !ssl_ports
http_access deny to_localhost
http_access allow localhost
http_access allow normal
http_access deny all

然后重启squid即可。

[!--infotagslink--]

相关文章

  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • C#创建简单windows窗体应用(加法器)

    这篇文章主要为大家详细介绍了C#创建一个简单windows窗体应用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 分享一段php获取linux服务器状态的代码

    简单的php获取linux服务器状态的代码,不多说-直接上函数:复制代码 代码如下:function get_used_status(){ $fp = popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r");//获取某一时刻系统cpu和内存使用情况 $rs =...2014-05-31
  • Springboot+TCP监听服务器搭建过程图解

    这篇文章主要介绍了Springboot+TCP监听服务器搭建过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-28
  • Powershell 查询 Windows 日志的方法

    这篇文章主要介绍了Powershell 查询 Windows 日志的方法,需要的朋友可以参考下...2020-06-30
  • 服务器 UDP端口占用几千个的解决办法

    前一段时间使用NetStat命令查看服务器端口时,发现服务器udp端口开放了好多,最少在1000个以上,当时事情比较多,没有管它,今天终于有点时间,仔细检查了一下,排除了这个问题. ...2016-01-27
  • PHP连接公司内部服务器的MYSQL数据库的简单实例

    “主机,用户名,密码”得到连接、“数据库,sql,连接”得到结果,最后是结果的处理显示。当然,数据库连接是扩展库为我们完成的,我们能做的仅仅是处理结果而已。...2013-09-29
  • C#实现windows form限制文本框输入的方法

    这篇文章主要介绍了C#实现windows form限制文本框输入的方法,涉及C#限制文本框输入的技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • 解决HttpPost+json请求---服务器中文乱码及其他问题

    这篇文章主要介绍了解决HttpPost+json请求---服务器中文乱码及其他问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-22
  • JS实现不使用图片仿Windows右键菜单效果代码

    本文实例讲述了JS实现不使用图片仿Windows右键菜单效果代码。分享给大家供大家参考,具体如下:这里演示JS不使用图片仿Windows右键菜单效果,这款代码灵活使用了文鼎字,配合CSS和JS做出了这个和系统右键菜单很相似的东东。...2015-10-23
  • C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法

    这篇文章主要介绍了C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法,结合实例形式分析了GetDesktopWindow函数用于获取窗口句柄的具体使用方法与相关注意事项,需要的朋友可以参考下...2020-06-25
  • Linux与Windows喜结连理

    作为一个新生事物,Linux吸引了不少眼球,但是它能否快捷、方便地与Windows资源共享,是一个很重要的问题。大家知道,Windows之间可以利用“网络邻居”来实现资源共享,而Linux...2016-11-25
  • 利用C#修改Windows操作系统时间

    这篇文章主要介绍了利用C#修改Windows操作系统时间,帮助大家更好的利用c#操作系统,感兴趣的朋友可以了解下...2020-12-08
  • 详解Windows下安装Nodejs步骤

    本篇文章主要介绍了详解Windows下安装Nodejs步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-05-22
  • C#3.0使用EventLog类写Windows事件日志的方法

    这篇文章主要介绍了C#3.0使用EventLog类写Windows事件日志的方法,以简单实例形式分析了C#写windows事件日志的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Hyper-V尝试连接到服务器出错无效类的解决方法

    这篇文章主要介绍了Hyper-V尝试连接到服务器出错无效类的解决方法,需要的朋友可以参考下...2016-09-28
  • mac使用Shell(终端)SSH连接远程服务器的方法

    这篇文章主要介绍了mac使用Shell(终端)SSH连接远程服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-11
  • js实现上传图片到服务器

    这篇文章主要为大家详细介绍了js实现上传图片到服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-11
  • uploader秒传图片到服务器完整代码

    这篇文章主要为大家详细介绍了uploader秒传图片到服务器的完整代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-04-27