您的位置:首页 > 运维架构 > 反向代理

Squid配置之限制IP访问

2015-02-03 16:50 232 查看
1.
安装squid

使用root用户进行操作。

先使用rpm检测是否已经安装了sqlid,如>> rpm –q squid

如未安装,可使用>> yum –install squid进行安装

2.
配置squid

Squid安装后提供几个设置的地方:

/etc/squid/squid.conf:这个是主要的设置文件,所有squid所需要的设置都放在这里

/etc/squid/mime.conf:这是squid所支持的internet上的mime格式列表,一般来说不需修改

/usr/sbin/squid:squid 的主程序

/var/spool/squid:预设的squid放置缓存的地方

/usr/lib64/squid/:squid 提共的控制组件,如密码认证等

对/etc/squid/squid.conf进行配置:

只开通80端口的代理功能,把数据缓存关掉,通过限制IP访问的方式使用代理,其它均不需要,设置如下:

# 定义授权组
acl localhost src 172.21.63.141

# 定义端口
acl Safe_ports port 80		# http

# 拒绝所有非定义的端口
http_access deny !Safe_ports

# 允许授权组
http_access allow localhost

# 拒绝其它所有未定义的
http_access deny all

# Squid 端口
http_port 3128

# 缓存设置
cache_dir ufs /var/spool/squid 100 16 256 read-only
cache_mem 0 MB
coredump_dir /var/spool/squid


设置授权用户:

做好配置后,我们需要设置授权用户(即上面设置的密码文件):

>> htpasswd -c /etc/squid/squid_user.txt atco

此命令使用htpasswd进行密码设置生成用户atco,首次生成文件需要使用-c参数,如果无此命令则需使用指令>> yum install httpd,安装httpd。

3.
启动squid

>> /etc/init.d/squid start

4.
使用代理

Squid代理的使用方式与普通的代理使用方式一致,其端口为3128(可改),密码加密方式为base64位加密,示例如下:

[java] view
plaincopy





try {

URL url = new URL("http://www.baidu.com");

// 创建代理服务器

InetSocketAddress addr = new InetSocketAddress("172.21.63.136",3128);

Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理

URLConnection conn = url.openConnection(proxy);

InputStream in = conn.getInputStream();

// InputStream in = url.openStream();

String s = IOUtils.toString(in, "utf-8");

System.out.println(s);

} catch (Exception e) {

e.printStackTrace();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: