网络技术实验 代理服务器的架设

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:计算机网络技术

实验名称:代理服务器的架设

学院:

专业:班级:

组号:指导教师:

报告人:学号:

实验地点:实验时间:

实验报告提交时间:

教务处制

图一

图二

图三测试深圳大学网站

认证

用户/密码认证为Squid管理提供了更多便利,最常用的认证方式是NCSA。从Squid 2.5版本开始,NCSA认证包含在了basic中,而非以前单独的认证模块。下面来看看实现认证的具体操作。

首先需要借助Apache的密码管理程序htpasswd来生成用户名/密码对应的文件,就像下面这行代码:

以下是代码片段:

htpasswd -c C:/passwd/password guest

在输入两遍guest用户的密码后,一个guest用户就生成了。如果以后需要添加用户,把上面的命令去掉-c参数再运行即可。

Squid 2.5在认证处理上有了较大的改变,这里就只讨论2.5版本的处理方法,2.4及以下版本请参考squid.conf.default。在2.5版的squid.conf中,包括以下几个相关选项:

通过以上的配置即可完成认证工作。有的读者可能要问:认证只针对普通用户,而高级用户是直接上网的,该怎么处理呢?其实,这两种用户是可以共存的。如前所述,Squid是顺序处理http_access的,所以在http_access处理过程中,如果先处理normal用户,那么当前用户无论是否属于高级用户,都会被要求进行认证;相反如果先处理高级用户,剩下的就只有需要认证的普通用户了。例如以下配置代码:

以下是代码片段:

...

http_access allow normal (需要认证)

http_access allow advance (不需要认证)

...

不管是否为noauth用户,都要求进行用户名/密码验证。正确的方法是将二者位置交换,代码如下:

以下是代码片段:

...

http_access allow advance

http_access allow normal

...

这时,高级用户不会受到任何影响。

总结

下面把整个squid.conf总结一下:

以下是代码片段:

# 服务器配置

http_port 192.168.0.1:3128

cache_mgr netsnake@

cache_dir null /tmp

cache_access_log /var/squid/access.log

cache_log /var/squid/cache.log

cache_store_log /var/squid/store.log

visible_hostname No1.proxy

client_mask 255.255.255.255

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_user_host_header on

# 用户分类

acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...

acl normal proxy_auth REQUIED

acl all src 0.0.0.0

# 行为分类

acl mmxfile urlpath_regex \.mp3\\$ \.avi\\$ \.exe\\$

acl conncount maxconn 3

acl worktime time MTWHF 8:30-12:00 14:00-18:00

acl sinapage dstdomain

acl qq dstdomain

相关文档
最新文档