zoukankan      html  css  js  c++  java
  • 使用加密的squid配合stunnel实现HTTP代理

    现在大部分人都是用ssh tunnel来搭建socks5代理,其实这种方式效率并不高,ssh tunnel并不是为了做代理而存在的。一个比较好的方法是加密squid配合stunnel实现http代理。下面介绍在Archlinux下配置https squid和windows下配置stunnel的方法。

    1.首先是Archlinux下安装squid。注意现在squid在AUR里,需要先用makepkg生成yaourt的安装包然后安装。此步骤不在本文讨论范围内。

    2. 配置squid,主要包括添加访问权限,以及配置https监听模式。
    2.1 创建证明书文件

    然后将yourdomain.com.crt和yourdomain.com.key拷贝到/etc/squid目录下(或其他目录)。

    2.2 添加squid用户
    这一步是生成用户名密码对,同时将密码用hash函数处理。用于squid的用户认证。

    2.3 配置squid.conf
    下面给出与本文要实现功能有关的配置参数:

    其中,MyRealm可以随便起名,XXXXX是你要squid监听的端口号。同时要注意”http_access deny all”这行要放在所有其他的http_access语句之后。

    2.4 启动squid
    Archlinux下可以用下面命令启动squid:

    然后运行下面命令检查squid的配置是否正确,如果正确则无任何返回信息:

    3. 配置stunnel
    下面开始配置Windows端(客户端)的stunnel,将https流量转换成http,实现http代理功能。
    编辑stunnel.conf,注释掉所有行,然后加入下面配置参数:

    其中,xxx.xxx.xxx.xxx是运行squid程序的机器IP,XXXXX是之前配置的监听端口号。

    4. 测试
    现在大功告成,将浏览器配置成使用地址为“127.0.0.1”,端口为8080的HTTP代理,然后就去twitter、facebook测试一下吧!

    如有疑问,欢迎回复讨论。

  • 相关阅读:
    memcached源码剖析5:并发模型
    memcached源码剖析4:并发模型
    深入剖析php执行原理(4):函数的调用
    深入剖析php执行原理(2):函数的编译
    剖析php脚本的超时机制
    strerror的坑
    深入理解php中的ini配置(2)
    深入理解php中的ini配置(1)
    一个“日期”字符串进行比较的case
    用valgrind检测php扩展内存泄露
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/10258101.html
Copyright © 2011-2022 走看看