1. 程式人生 > >Squid配置之限制IP訪問

Squid配置之限制IP訪問

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位加密,示例如下:

  1. try {  
  2.     URL url = new
     URL("http://www.baidu.com");  
  3.     // 建立代理伺服器
  4.     InetSocketAddress addr = new InetSocketAddress("172.21.63.136",3128);  
  5.     Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理
  6.     URLConnection conn = url.openConnection(proxy);  
  7.     InputStream in = conn.getInputStream();  
  8.     // InputStream in = url.openStream();
  9.     String s = IOUtils.toString(in, "utf-8");  
  10.     System.out.println(s);  
  11. catch (Exception e) {  
  12.     e.printStackTrace();  
  13. }