squid反向代理相关笔记

时间:12-09-01 栏目:VPS教程 作者:赵 容 评论:9 点击: 9,866 次

squid是一种高效的的代理服务器和Web缓存服务器,他的发展历史相当悠久,功能也相当完善。除了HTTP外,对于FTP与HTTPS的支援也相当好,在3.0 测试版中也支援了IPv6。赵容也断断续续的折腾过几次,时间跨度很大,所以有必要对之前的做个总结备忘,基于个人能力问题,难免错漏,环境大家指正!部分设定均来源于网络,尤其得到tiger.im老虎同志的大力协助,在此一并致谢。

squid

A服务器反向代理B(web服务器)

首先,我们一起来看看如何使用一台服务器或者VPS反向代理另一台服务器或者另一个服务器上的域名。我们假设用于squid的服务器为A,而真实后端web服务器为B。

首先,在A服务器编译squid,以root账户ssh登陆A,运行下列命令(本文基于CentOS 5.* 32bit)

yum install squid

编译过程很快,如果有安装httpd,可以移除之。

yum remove httpd

接下来是最重要的部分,编辑squid.conf文件(文件位置/etc/squid/),squid.conf配置项目较多,网络上关于常规的设定教程也很多,本文我们主要是记录能使用它反代另一台服务器或者域名,所以,我们仅列出需要修改的前后端地址及域名部分,大家也可以下载赵容部落提供的配置文件去修改:点击下载squid.conf

cache_peer *.*.*.* parent 80 7 no-query originserver name=www1

cache_peer_domain www1 zrblog.net www.zrblog.net

上面的*.*.*.*换成您的web服务器IP,如果有多个域名,可以自行添加www2,www3……如果反代web服务器上的所有域名,可以删除cache_peer_domain行。

完成后上传,并重载下squid。

service squid reload

设定开机启动squid

chkconfig --level 2345 squid on
chkconfig  squid on

这样操作后,您可以将B服务器上的域名,解析指向A服务器IP,由A服务器反代最终地址。这种方式简单易行,比如欧洲的服务器便宜,但国内访问速度欠佳,可以给他来个港台日韩的squid前端,缓存后的速度提升还是比较明显的;但缺点是直接用了80端口反代,这台squid服务器再做web服务器就比较麻烦了。

LNMP环境下squid前端nginx后端

这个方式是在同一台服务器操作,在编译lnmp环境的web服务器上使用squid作为前端,nginx后端。

首先,编译lnmp,过程略(本文军哥lnmp一键包基础)

完成后安装squid

yum install squid

删除掉默认的squid配置文件

rm  /etc/squid/squid.conf

之后传入上一方式中提供的squid.conf(也可以自行编辑)

在这一种方式中,我们还需要修改配置文件,因为squid做前端占用了80端口,而nginx也是使用80端口,都用80端口肯定是不行的,本文我们修改nginx使用8888端口。先来修改squid.conf文件。

cache_peer 127.0.0.1  parent 8888 7 no-query originserver name=www1

cache_peer_domain www1 zrblog.net www.zrblog.net

上面的127.0.0.1表示反向代理本机后端,端口8888可以自行修改,只要不与系统其他端口冲突即可。

如果需要代理多个,可以继续添加。

接下来,我们还需要修改nginx的配置信息。

vi /usr/local/nginx/conf/nginx.conf

修改端口80为8888

server

{

listen       8888;

如果希望以后添加域名自动使用8888端口,还可以修改vhost.sh文件。

server

{

listen       8888;

server_name $domain$moredomainame;

index index.html index.htm index.php default.html default.htm default.php;

全部完成后,重启下lnmp和squid。

/root/lnmp restart

service squid restart

最后设定squid为开机启动。

chkconfig --level 2345 squid on
chkconfig  squid on

这样我们在这台服务器的站点就是squid前端,nginx后端了。

香港/美国/国内高速VPS

声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: squid反向代理相关笔记鄙视无耻复制行为!
关于隐私: 赵容非全职打理博客,所有评论不保证审核时间进度,我有义务保证您的个人信息不经由赵容部落透露给任何第三方,随意或虚假邮箱评论会自动进入垃圾箱无法展示和给您回应.
关于安全: 任何IDC都有倒闭和跑路的可能,出口线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.

squid反向代理相关笔记:目前有9 条留言

  1. 6楼
    519755368:

    普通代理怎么弄呢
    用帐号+密码登录

    2014-05-30 18:51 [回复]
    • 赵 容:

      这个没弄过,我主要是反代web访问的。

      2014-05-30 18:55 [回复]
  2. 5楼
    五杠青年:

    请问您的博客也是用这个反代的吗?我怎么不成功。。。 😮

    2013-04-04 01:27 [回复]
  3. 4楼
    seamus:

    🙂 容妹纸!这个Debian能用么!呵呵!一直不习惯用centos!感觉还是Debian省内存!

    2012-11-22 01:32 [回复]
    • 赵 容:

      未曾在Debian测试,应该可以用吧

      2012-11-22 08:06 [回复]
  4. 地板
    某男子:

    内存消耗 怎么样 如 日ip2000+IP 前端大概要吃多少内存 新加坡 那个12刀 季度 128M oz吃的肖吗

    Nginx 好像也可以反代 那个更好点呢

    2012-11-02 22:24 [回复]
    • 赵 容:

      理论上来说破是可以的,具体看各人的设定,squid很强大,我也不懂。

      2012-11-02 22:28 [回复]
  5. 板凳
    qianiqan:

    也就是说用户提交的数据神马的都会通过那台反代的机器?

    2012-09-01 15:25 [回复]
  6. 沙发
    seamus:

    ❗ 好文章~拜读了~赵容大神果然牛~~~

    2012-09-01 10:01 [回复]

发表评论


海星云主机

广而告之