Squid配置之限制IP訪問
阿新 • • 發佈:2019-01-30
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進行配置:
設定授權使用者:
做好配置後,我們需要設定授權使用者(即上面設定的密碼檔案):
>> 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位加密,示例如下:
使用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位加密,示例如下:
- try {
-
URL url = new
- // 建立代理伺服器
- 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();
- }