CentOS 7 搭建 TinyProxy 代理

 

Tinyproxy是一个轻量级的用于POSIX操做系统的http/https代理守护进程。在设计之初就遵循着更快而且更小的原则。在相关的运用案例中,它是一种理想的解决方案,例如在一个须要所有HTTP代理特性的嵌入式部署的案例中。然而,对于须要更大的代理案例来讲,它是不可用的。linux

Tinyproxy自己是小巧的,几乎不须要占用系统资源。安装后,内存占用一般在2M左右,CPU负载随同步链接的数量线性增长(取决于链接的速度)。所以,Tinyproxy能够在一台旧机器上运行,也能够在网络设备上运行,好比基于linux的宽带路由器,而不会对性能产生任何明显的影响。vim

安装环境:阿里云CentOS7 香港服务器浏览器

1. 安装 TinyProxy安全

在Red Hat Enterprise Linux或其衍生产品(如CentOS)上,能够经过运行yum install tinyproxy从EPEL存储库安装Tinyproxy。服务器

yum -y install tinyproxy
 

2. 配置 TinyProxy网络

vim /etc/tinyproxy/tinyproxy.conf
 

修改 Port 端口,默认为 8888curl

Port 12801tcp

注释掉 Allow,表示容许全部人访问代理ide

#Allow 127.0.0.1性能

隐藏掉Via请求头部,去掉下面的注释

DisableViaHeader Yes

更多配置项,下面是列举一些配置文件默认的,不须要配置:

PidFile "/var/run/tinyproxy/tinyproxy.pid"

LogFile "/var/log/tinyproxy/tinyproxy.log"

LogLevel Info

MaxClients 100

MinSpareServers 5

MaxSpareServers 20

StartServers 10

3. 启动 TinyProxy

systemctl start tinyproxy.service
 

更多命令以下:

 
  1.  
    systemctlrestarttinyproxy.service
  2.  
     
  3.  
    systemctlstoptinyproxy.service
  4.  
     
  5.  
    systemctlstatustinyproxy.service
  6.  
     
  7.  
    systemctlenabletinyproxy.service
 

4. 关闭防火墙或开放端口访问

方式1:关闭防火墙

/etc/init.d/iptables stop
 

方式2:开放端口访问

iptables -A INPUT -p tcp --dport 12801 -j ACCEPT
 

重启防火墙

/etc/init.d/iptables restart
 

注意:若采用的阿里云、腾讯云、AWS等云服务器,记得要在安全策略里开放端口号

5. 验证生效

1)命令行测试验证(服务器本地测试)

使用TinyProxy拉取google.com的页面信息:

curl -x 127.0.0.1:12801 google.com
 

能够看到成功拉取了谷歌的页面信息,说明咱们的配置是成功。

2)Firefox测试(本机测试)

打开火狐浏览器,选择:选项-网络代理-设置,进入配置界面,根据下图进行配置:

配置完成后,咱们使用百度搜索IP,搜索结果以下:

IP地址是咱们服务器的地址,说明代理正常访问。然而,若是咱们访问谷歌,会获得以下页面:

 

咱们没法访问谷歌,不但如此,其余相似的网站咱们也是没法访问的。这是为何?首先,咱们看下面的图,当咱们想要访问外网的时候,这个请求数据包必然会通过防火墙的检查:

如今咱们使用代理,可是依然须要通过防火墙的检查:

因为客户端与TinyProxy之间的请求数据是没有加密的,因此咱们没法经过检查。

有人可能疑问,HTTPS是加密的请求,那么为何不能绕过防火墙呢?

这是由于客户端在进行加密通讯之前,须要进行链接握手。在链接握手时,身份认证证书信息(即服务器的公钥)是明文传输的,墙此时就会阻断特定证书的加密链接。

 

 

Tinyproxy是一个轻量级的用于POSIX操做系统的http/https代理守护进程。在设计之初就遵循着更快而且更小的原则。在相关的运用案例中,它是一种理想的解决方案,例如在一个须要所有HTTP代理特性的嵌入式部署的案例中。然而,对于须要更大的代理案例来讲,它是不可用的。

相关文章
相关标签/搜索