利用squid实现反向代理(同时具备内网代理)

2009-05-13 12:59:39来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


Matthew(黑夜编码人)
我的站点上的所有文件都是静态html,为了进一步的加快网页速度,于是使用squid实现反向代理缓存功能。
@ 安装squid
为了偷懒就直接使用ports安装,因为我将所有的服务器系统都安装在/s分区中,所以设置了PREFIX为/s/squid
# cd /usr/ports/www/squid
# setenv PREFIX /s/squid
# make install clean
安装完成后编辑/s/squid/etc/squid/squid.conf,我的配置内容如下:
########## Base control ##########
cache_mgr webmaster
cache_effective_user squid
cache_effective_group squid
visible_hostname sleepcat.3322.org
http_port 127.0.0.1:3128
icp_port 0
cache_dir ufs /usr/cache 300 16 256
cache_access_log /dev/null
cache_log /dev/null
cache_store_log /dev/null
error_directory /s/squid/etc/squid/errors/Simplify_Chinese
icon_directory /s/squid/etc/squid/icons
mime_table /s/squid/etc/squid/mime.conf
coredump_dir /s/squid/squid/cache
pid_filename /s/squid/squid/logs/squid.pid
hosts_file /etc/hosts
unlinkd_program /s/squid/libexec/squid/unlinkd

########## Performance control ##########
cache_mem 8 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
cache_replacement_policy lru
memory_replacement_policy lru
emulate_httpd_log off
log_ip_on_direct on
log_mime_hdrs off
dns_timeout 2 minutes
request_header_max_size 10 KB
request_body_max_size 0 KB
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
negative_ttl 5 minutes
positive_dns_ttl 6 hours
negative_dns_ttl 1 minute
connect_timeout 1 minute
read_timeout 15 minutes
request_timeout 5 minutes
client_lifetime 1 day
half_closed_clients on
maximum_single_addr_tries 1
uri_whitespace strip
ie_refresh off

########## Access control ############
acl all src 0.0.0.0/0.0.0.0
http_access allow all
http_reply_access allow all
hierarchy_stoplist cgi-bin ?

########## Accelator control ############
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

########## Misc control ###########
ftp_user Squid@
ftp_list_width 32
ftp_passive on
ftp_sanitycheck on

初始化cache
# /s/squid/sbin/squid -z
启动squid
# /s/squid/etc/rc.d/squid.sh start
@ 设置apache
因为要对外部实现反向透明代理,所以apache不能再在外网IP的80端口服务,我将它设置到127.0.0.1的80端口,修改httpd.conf中的Listen为:
Listen 127.0.0.1:80
刷新apache配置:
# apachectl restart
@ 重定向外网IP的80端口访问
我使用
mpd进行PPPoE拨号
,所以外网接口为ng0,将所有发往ng0上的80端口请求转发到127.0.0.1的3128端口上,即转发到squid的服务端口。转发规则如下:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:给FreeBSD新手的一些建议

下一篇:设计防火墙系统