centos中squid 代理服务器 用户认证

如果想上google,或者其他天朝内无法访问的网站,怎么办呢?前提要有一个,不在大天朝局域网内的VPS

方法一,搭个vpn,请参考:vpn 安装配置详解

方法二,搭个代理服务器,下面会详细的说一下

1,安装squid

# yum install squid 

2,添加认证用户 test123

# htpasswd -c /etc/squid/passwd test123 

3,配置代理以及用户认证
 
# vim /etc/squid/squid.conf  //添加以下内容 
 
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd  //认证方式为basic,认证程序路径和密码文件路径 

auth_param basic children 5        //认证程序的进程数 
auth_param basic credentialsttl 1 hours    //认证有效时间 
auth_param basic realm my test prosy       //浏览器显示输入用户/密码对话框时,显示的内容 
acl test123 proxy_auth REQUIRED 
http_access allow test123     //普通用户需要通过认证才能访问

4,开放防火墙端口
 
# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT   //squid默认端口,3128 

5,重启squid

# /etc/init.d/squid restart 

这样squid代理就搭好了,浏览器里面设置一下代理IP和端口,会弹出认证框,输入用户名和密码就行了。

6,php也可以利用代理服务器
 
function testCurl($url){ 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $gurl); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); 
     curl_setopt($ch, CURLOPT_PROXY, "23.220.*.*:3128");    //ip/端口 
     curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test123:123456');  //认证用户和密码 
     $result=curl_exec($ch); 
     curl_close($ch); 
    return $result; 

 
echo testCurl("google.com"); 

时间: 2024-10-18 12:04:34

centos中squid 代理服务器 用户认证的相关文章

10个关于linux中Squid代理服务器的实用面试问答

10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到"代理服务器"这个词,我们也经常听到.代理服务器已经成为一种企业常态,而且经常会接触到它.它现在也出现在一些小型的学校或者大型跨国公司的自助餐厅里.Squid(常被视作代理服务的代名词)就是这样一个应用程序,它不但可以被作为代理服务器,其同时也是在该类工具中比较被广泛使用的一种. 本文旨在提高你在遇到关于代理服务器面试点时的一些基本应对能力. 以下为面试问答的内容 1. 什么是代理服务器?

Linux中设置Squid的用户认证存取控制

内核版本: Linux 2.2 Squid版本: Squid-2.3.stable2 (http://www.squid-cache.org/Versi ... STABLE2-src.tar.gz) 发行版本: Redhat Linux 6.0 1. 下载,编译,安装Squid略 注意:运行squid作为nobody,不能用root. 假定squid home目录为/usr/local/squid/ 假定squid source目录在/tmp/squid-2.3.STABLE2 2. # cd

Centos中如何临时禁用用户?Centos中临时禁用用户的方法

linux中临时禁用用户 1.在/etc/passwd文件中找到禁用用户所在行,在该行首添加# /etc/passwd #coderbolg:x:500:500::/home/coderbolg:/bin/bash 2.在/etc/shadow 文件中找到禁用用户所在行,在第二个字段(密码加密字段)前添加!或者*  /etc/shadow 一般该文为只读属性,不建议修改 coderbolg:*$1$HsYY3Xxn$iDxguvDB8vsSeM3VjxKbq/:14817:0:99999:7::

squid代理服务器 用户验证访问,tcp_outgoing_address 出口IP随机调用

配置如下  代码如下 复制代码 http_port 142.4.106.1:3128 http_port 142.4.106.xx:3128 http_port 142.4.106.xx:3128 auth_param basic program /user/lib/squid/libexec/ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web

linux中squid 代理服务器 访问google报错了

linode的vps,用squid搭了一个代理,装完后,发现facebook可以上,youtube也可以,唯独google提示错误,如下 We're sorry... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now 在网上找了半天,总算找到解决办法了. 方法一:编辑 /etc/sysctl.con

squid+stunnel+用户密码认证的三种玩法

没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要看这是正常玩法,在一个管理后台限制登陆,而维护VPN成本大时,这个小应用很有用处的) 2,标准加密玩法 在国外搞个服务器(翻嘛,用第1种时,会有问题,因为GFW会在你想去国外就拦之),然后,将本地发到国外的请求时加密.(本来客户端安装STUNNEL,这个适合很私密的东东,但在企业内部署,就很不好推广

Nginx中的用户认证配置及阻止用户使用代理访问的方法_nginx

nginx用户认证配置( Basic HTTP authentication)ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但是又想让部分人看到.nginx的http auth模块以及Apache http auth都是很好的解决方案. 默认情况下nginx已经安装了ngx_http_auth_basic_module模块,如果不需要这个模块,可以加上 --without-http_auth_

Java中利用jcifs集成AD域用户认证

最近一段时间发现AD这东西老火了,尤其是涉及到安全这一方面的,所以AD域用户认证成了现在网络安全方面的产品必备!这里就简单的分享一下,Java通过jcifs集成AD域用户实现认证,以实现网络安全! 我们通过一个demo来看看jcifs实现SSO,SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制.它是目前比较流行的企业业务整合的解决方案之一. 第一

CentOS中禁止用户ssh和sftp登陆的详解

  CentOS中禁止用户ssh和sftp登陆的详解          在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作.我这里以centos操作系统为例记录下如何进行处理. 1.打开sshd的配置文件 ? 1 vi/etc/ssh/sshd_config 2.修改该配置文件,增加或修改如下行 ? 1 2 3 4 # 禁止用户user1登陆,多个空格分隔 DenyUsers user1 # 禁止用户组group1的所有用户登录,多个空格分隔 DenyGroups group