Windows系统Stunnel客户端的配置
Stunnel官方就有Windows版本,到下面的地址下载:
https://www.stunnel.org/downloads.html
选择”stunnel-X.XX-installer.exe“并且安装到一个“可写”的位置,因为Windows Vista/7/8系统里如果安装到C:\Program Files或者C:\Program Files (x86),会无法写入配置、日志或者不方便放置用户的证书,因此本着偷懒和“绿化”的原则,建议安装到其他地方。其实你也可以安装了以后,把整个程序目录复制出来,然后将原始安装卸载。Stunnel就成了一个绿色程序。
这里假设新建一个目录:C:\local,然后把Stunnel软件安装到这里:
C:\local\stunnel
然后,去你的Linux服务器上获取证书文件:/etc/stunnel/stunnel.pem。传输的方法建议是用SCP的方式。Windows上免费的PuTTY系列工具里有一个PSCP程序,就可以用来安全地传输文件。
下载“putty.zip”工具包:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html(开头几个是单独文件下载,这里直接下载整个ZIP包,就是标示了“A .ZIP file containing all the binaries (except PuTTYtel), and also the help files”的地方)。
同理解压缩到C:\usr\local\putty。打开一个命令行窗口,CD到该目录。
C:\usr\local\putty> pscp root@12.34.56.78:/etc/stunnel/stunnel.pem . |
如果你的SSH服务器端口不是默认的22端口,那么用-P PORT来指定端口(P是大写):
C:\usr\local\putty> pscp -P 12345 root@12.34.56.78:/etc/stunnel/stunnel.pem . |
命令运行后,一般是会要求你确认服务器的指纹是否正确,按“y”回车确认。然后会提示输入密码。密码输入以后就会把文件拷贝到当前目录下。
如果你配置了SSH服务器不接受密码登陆,而只能用密钥登陆,那么你要先把你的SSH密钥通过PuTTY提供的PUTTYGEN.exe程序导入,然后导出为.ppk格式,接着运行PAGENT.exe,加载这个导出的PuTTY私有格式的密钥。这时运行上述的PSCP命令即可,不需要输入密码。
扯了半天传输证书的问题,下面就是配置Stunnel了。配置文件是C:\usr\local\stunnel\stunnel.conf:
一上来我们先配置一下调试日志的选项:
; Debugging stuff (may useful for troubleshooting)
debug = 7
output = .\stunnel.log
同理,初次使用建议debug level设置为7,调试正常后,可以修改为默认的5或更小的数字。“output”指定的日志文件设定为“.\stunnel.log”。意思就是在软件安装目录(和stunnel.exe在同一个位置)。
接下来指定证书文件。就是前面从Linux服务器上传输过来的”stunnel.pem”文件,将这个文件也放在Stunnel安装目录下,然后配置文件里这样写:
; Certificate/key is needed in server mode and optional in client mode
cert = .\stunnel.pem
key = .\stunnel.pem
请注意这里也是用了相对路径。这个证书文件就是客户端Stunnel和服务端Stunnel互相验证的“密码”,请务必妥善保存。只有有这个证书的双方才可以通过SSL加密通信,第三方将无法看到任何信息。
最后是配置服务项:
; Example SSL front-end to a web server
[https]
client = yes
accept = 8080
connect = 12.34.56.78:443
; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SSL
; Microsoft implementations do not use SSL close-notify alert and thus
; they are vulnerable to truncation attacks
; TIMEOUTclose = 0
TIMEOUTclose = 0
这里假设你的服务器端IP地址是12.34.56.78,服务端Stunnel监听端口为443。而Windows上客户端监听端口为8080,也就是其他程序可以看到你的本地机器上有一个监听在8080端口的HTTP代理服务器。同时注意要指定“client = yes”来打开Stunnel的客户端模式。
同时遵照注释里的说明,在Windows平台我们将“TIMEOUTclose”设置为0。
至于其他的服务,则全部用行首添加';’的方式注释掉,或者直接删除即可:
; Example SSL server mode services ;[pop3s]
;accept = 995
;connect = 110 ;[imaps]
;accept = 993
;connect = 143 ;[ssmtp]
;accept = 465
;connect = 25 ; Example SSL client mode services ;[gmail-pop3]
;client = yes
;accept = 127.0.0.1:110
;connect = pop.gmail.com:995 ;[gmail-imap]
;client = yes
;accept = 127.0.0.1:143
;connect = imap.gmail.com:993 ;[gmail-smtp]
;client = yes
;accept = 127.0.0.1:25
;connect = smtp.gmail.com:465
保存配置文件后。双击安装目录里的stunnel.exe就开始运行了,如果一切正常,双击运行后不会有窗口出现,而是 在系统托盘栏出现一个stunnel的图标。右键点击这个图标可以查看程序日志、重启服务、退出等操作。如果出现错误,可以查看日志文件排查问题。测试正 常后,就可以配置Windows启动后自动运行“C:\usr\local\stunnel\stunnel.exe”,这样就不用去管它了。
最后就是在你的浏览器里配置使用这个代理即可,即代理地址为:127.0.0.1:8080。
Windows系统Stunnel客户端的配置的更多相关文章
- WIndows系统下mysql-noinstall安装配置
环境: Windowsmysql-noinstall-5.0.37-win32.zip 一.下载MySQL http://www.mysql.com/downloads 二.安装过程 1.解压缩mys ...
- Windows系统IntelliJ IDEA安装配置
IntelliJ IDEA安装 IntelliJ IDEA,是java编程语言开发的集成环境,业界公认的最好的Java开发IDE之一.打开IDEA官方网站https://www.jetbrains.c ...
- windows系统下用VScode配置远程编辑服务器文件的环境!通过Rmate方法
虽然公司电脑win可以通过Xshell通过SSH远程连接家中内网linux服务器了,但是只能用vim编辑文件有点不爽. 于是上网查询,windows下使用vscode远程编辑服务器文件的办法.参照博文 ...
- Windows系统下pthread环境配置
记录下win7系统,vc6.0++编译器下配置POSIX多线程环境的步骤. 配置 下载地址 ftp://sourceware.org/pub/pthreads-win32/ 我下载的版本是 fpthr ...
- Windows上安装配置SSH教程(3)——在Windows系统上安装与配置WinSCP
知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 首先确认客户端已经安装了OpenSSH.安装方 ...
- windows系统下node-gyp的配置使用
1.安装python和vs2017 安装python要将python命令配置到系统变量path 也可以通过npm i -g windows-build-tools来安装 2.查看和设置npm conf ...
- Windows系统JDK环境变量配置
一.环境准备 Windows10 jdk1.8.0_144 二.下载并安装JDK 下载 密码: r5ym 三.环境变量配置 首先,打开控制面板>系统和安全>系统,点击高级系统设置进入系统属 ...
- 在 windows 系统上 安装与配置 PHP + Apache
参考:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html 在大学时候上过一门PHP课时,因为课堂需要配置过一次PHP+Mysql ...
- Windows系统下的adb 配置
1.将附件中的adb_tools.rar文件下载到电脑上,并解压.(注意:其路径尽量避免带有中文字符) 2.右键点击“计算机”->“属性”->“高级系统设置”->“高级”->“ ...
随机推荐
- HTML 表单
HTML 表单包含表单元素. <form> 元素定义 HTML 表单 表单元素指的是不同类型的 input 元素.复选框.单选按钮.提交按钮等等. HTML 表单用于搜集不同类型的用户输入 ...
- javascript的浅拷贝和深拷贝
1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据. 2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制. 这里画一个简单的图来加深理解: ...
- DevExpress应用案例--语音识别器Dual Writer
Dual Writer是 一个以语音识别为特色的文档处理器,无需安装其他软件,只需要插入你的麦克风就可以开始录入口述文字.它不仅支持MS Word的DOCX格式,还支持 RTF.ODT.TXT等常见文 ...
- atitit.userService 用户系统设计 v4 q316 .doc
atitit.userService 用户系统设计 v4 q316 .doc 1. 新特性1 2. Admin login1 3. 用户注册登录2 3.1. <!-- 会员注册使用 --> ...
- iOS开发之──传感器使用 (转载)
在实际的应用开发中,会用到传感器,下面首先介绍一下iphone4的传感器,然后对一些传感器的开发的API作一简单介绍. AD:WOT2015 互联网运维与开发者大会 热销抢票 在实际的应用开发中,会用 ...
- Xcode8如何去除控制台多余的打印信息
Xcode8如何去除控制台多余的打印信息 最近刚使用了Xcode8.遇到了一些问题,总结如下.希望对大家有所帮助. 一.如何去除控制台多余的打印信息. 方法:点击Product----Scheme-- ...
- Android C代码回调java方法
本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...
- 【代码笔记】iOS-标题2个图标,点击的时候,页面跳转
一,效果图. 二,工程图. 三,代码 RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- 数据存储与IO(一)
应用程序沙盒简介:iOS应用程序只能在系统为它分配的文件区域内读写文件,这个区域就是此应用程序的沙盒,Application目录下的GUID文件夹就是沙盒,这个文件夹是系统随机命名的.程序所有的非代码 ...
- 学习Coding-iOS开源项目日志(一)
前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...