转自:  https://blog.csdn.net/atco/article/details/43448885
 
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端口的代理功能,把数据缓存关掉,通过密码认证方式进行使用代理,其它均不需要,设置如下:

# 使用帐号密码认证方式使用代理
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_user.txt
auth_param basic children 5
auth_param basic realm Welcome to pycredit's proxy-only web server # 定义授权组
acl squid_user proxy_auth REQUIRED # 定义端口
acl Safe_ports port 80 # http # 拒绝所有非定义的端口
http_access deny !Safe_ports # 允许授权组
http_access allow squid_user # 拒绝其它所有未定义的
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 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); String headerkey = "Proxy-Authorization";
String headerValue = "Basic "+Base64.encodeToString("user:pwd".getBytes(), false);
conn.setRequestProperty(headerkey, headerValue); InputStream in = conn.getInputStream();
// InputStream in = url.openStream();
String s = IOUtils.toString(in, "utf-8");
System.out.println(s);
} catch (Exception e) {
e.printStackTrace();

Squid配置之使用帐号密码验证的更多相关文章

  1. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  2. foxmail收取163企业邮箱设置,不能直接用foxmail默认的配置,否则一直提示帐号密码错误

    foxmail收取163企业邮箱设置,不能直接用foxmail默认的配置,否则一直提示帐号密码错误,收件.发件服务器配置需要用imap.ym.163.com,smtp.ym.163.com三级域名,帐 ...

  3. WCF加密操作(包括证书和证书+帐号密码)

    WCF作为.net三大组件之一,伟大之处不用多说,但是其加密配置对于我这样的萌新来说还是颇有难度,因此将几天来的研究成果共享出来,与各位共勉~ 首先声明我的开发环境,Win10创意者更新 + Visu ...

  4. 如何修改SharePoint2013服务器场帐号密码

    服务器远程登录帐号密码修改密码后,如何修改sharepoint服务器场管理员账户密码,今天登录了一下N久以前的搭建sharepoint2013服务器场的一台服务器器,登录进去以后直接提示帐号密码过期需 ...

  5. GitHub学习心得之 安装配置与多帐号管理

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...

  6. python3登录极路由并读取宽带帐号帐号密码.py

    python3登录极路由并读取宽带帐号帐号密码,fiddler抓包分析过程略... 步骤:1.登录路由,提取stok. 2.用stok拼成url,post请求 3.解析json数据 代码: " ...

  7. 开发Chrome Extension截取你微博的帐号密码

    Google允许开发者对Chrome浏览器做扩展,所以有了之前火爆的12306抢票软件,我 也用它抢过票,一直很好奇它怎么注入js到12306上面的.这周有空研究了下Chrome Extension, ...

  8. 用firefox 31配合KeePass密码管理器实现web帐号密码自动填写登录

    原文:http://bbs.kafan.cn/thread-1754676-1-1.html KeePass的优势:1.这是一款完全开源的密码管理器2.很多人都使用lastpass来保存密码,而这种严 ...

  9. TortoiseGit bonobo gitserver记住帐号密码

    记住帐号密码有两种方式: 针对服务器存储用户名密码 设置方式为在windows用户存储位置创建文件_netrc,没有后缀名.用文本编辑内容,格式为   machine 115.29.141.162 只 ...

随机推荐

  1. Java入门(三):变量和运算符

    上次谈到了Java的基本数据类型,今天接着聊Java的变量.运算符. 一.变量 1.变量的分类 变量分为成员变量.局部变量和常量,其中成员变量又分为实例变量.类变量. 2.变量的定义 语法:变量类型( ...

  2. 【算法】LeetCode算法题-Valid Parentheses

    这是悦乐书的第147次更新,第149篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第6题(顺位题号是20),给定一个只包含字符'(',')','{','}','['和'] ...

  3. 【项目 · Wonderland】立项报告

    [软件工程实践 · 团队项目] 第二次作业 团 队 作 业 原 文:http://www.cnblogs.com/andwho/p/7598662.html Part 0 · 简 要 目 录 Part ...

  4. java语言的特征

    运行时:反射与内省+派发机制: 额外的多态支持:注解: 语法改进:内部类与匿名类.匿名函数: 线程支持改进: 类加载机制? aop的支持: bean?

  5. 【转】iOS开发笔记--识别单击还是双击

    在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作中的第一次点击.解决这个问题的方法就是:在检测到单击时,需要等一段时间等待第二次点击, ...

  6. day04 if判断、while条件循环、for迭代器循环部分使用举例

    一:if判断 1.成绩>=90,那么:优秀         如果成绩>=80且<90,那么:良好         如果成绩>=70且<80,那么:普通         其 ...

  7. 002_logging

    Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似. Python 使用logging模块记录日志涉及四个主 ...

  8. PHP 3 运算符 if...else...elseif 语句

    <?php $x=10; $y=6; echo ($x + $y); // 输出 16 echo ($x - $y); // 输出 4 echo ($x * $y); // 输出 60 echo ...

  9. Oracle 周相关函数

    Oracle 周相关函数   select trunc(sysdate,'W'), --每月1日作为第一个星期第一天 取当前周第一天对应日期 trunc(sysdate,'WW'), --每年1月1日 ...

  10. PEP8 python规范神器

    如需转载,请注明出处:小婷儿的博客:https://www.cnblogs.com/xxtalhr/p/10645992.html 一.Jupyter notebook 篇 Jupyter noteb ...