登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

使用 stunnel 映射 HTTPS 站点为 HTTP  

2009-03-06 13:13:27|  分类: SSH |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Stunnel ( universal SSL tunnel, http://www.stunnel.org/ ) 是一个可以为不支持 SSL 的网络应用程序加上 SSL 功能的小软件, 它即可以作为一个 SSL 网关, 来保护原本没有 SSL 功能的服务器(如 smtp, pop 等服务器), 也可以作为一个 SSL 代理, 使不支持 SSL 访问的网络客户端软件能够访问以 SSL 加密的方式提供的服务; 本文关注的是后一种功能.

安装 stunnel

下面介绍如何从源码开始安装 stunnel, 运行环境为 Ubuntu 7.04.
  • 2)安装过程:在命令行下执行下列命令即可:
    • ./configure
    • make
    • sudo make install
    • 如果在 configure 中报告 "checking for SSL directory... Not found", 那么需要安装 libssl-dev, 命令如下:
      • sudo apt-get install libssl-dev
  • 3)在 make install 过程中会要求输入一些信息建立 /usr/local/etc/stunnel/stunnel.pem PEM 证书文件;
    • 使用 stunnel 映射 HTTPS 站点为 HTTP  - SeaRiver - SeaRiver  Blog
  • 4)安装完毕之后执行 "stunnel" 或者 "stunnel -help" 可以看到帮助信息, 说明 stunnel 已经被成功安装;
    • 说明: 如果运行时 shell 报告找不到命令, 有可能是 /usr/local/sbin 目录不在 PATH 中;

配置 stunnel 作为 SSL 代理, 且支持客户端证书

本文配置 stunnel 作为 SSL 代理的目的, 主要是为了解决某些通过 HTTP 协议访问网络资源的客户端程序, 对 SSL(尤其是对需要客户端电子证书的 SSL 方式)的支持不佳的问题, 那么在必须通过这些程序访问 SSL 网络资源时就需要使用 SSL 代理了.
  • 1)现在需要使用 openssl 将带有密码的客户端证书文件(PFX/P12) 转化为 PEM 格式的证书:
    • openssl pkcs12 -in XXX.p12 -out svn-stunnel.pem -nodes
  • 2)接着我们编写一个 stunnel 的配置文件 svn-stunnel.conf:
    • 使用 stunnel 映射 HTTPS 站点为 HTTP  - SeaRiver - SeaRiver  Blog
  • 3)然后就可以直接运行:
    • stunnel svn-stunnel.conf
    • 此时可能出现警告信息: "Wrong permissions on ...", 这种情况似乎不影响使用, 如果想消除这条信息, 可以执行:
      • chmod 600 svn-stunnel.conf
    • (不过有时候似乎没有效果, 不知道是不是与当前用户不是 root 有关)
  • 4)接着, 用 http 访问 localhost 的 "accept" 端口, 就可以正常访问原本需要使用证书验证的 HTTPS 网址了;
  • 5)最后, 将相关命令写入 /etc/rc.local 中, 让 stunnel 开机启动, 即可;

参考资料

END

  评论这张
 
阅读(4762)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018