如何让boa网页服务器支持HTTPS
2017-06-25 09:03
791 查看
背景
boa是一个常用于嵌入式的web server,本身是无法支持https的连接的。这里就是要解决这个问题。
思路
这里并没有采用修改boa的思路,而是增加其他部件来间接实现。这里,选择了反向代理pound或ssl包装器stunnel。
客户发送的web请求,先到pound/stunnel监听的端口那,pound/stunnel将SSL连接转换为普通的HTTP,再送给boa服务器。
这样,通过简单的增加一层的方式,来漂亮的解决这个问题!
实现
可以采用ssl包装器 stunnel或反向代理pound来实现,stunnel会比pound更简单。应用stunnel
交叉编译
下载stunne源码,例如我下载的是stunnel-5.38交叉编译
./configure --host=arm-none-linux-gnueabi
stunnel比pound好的一个地方就是可以支持openssl0.9.8,这样,单板无需额外拷贝新版本的openssl库
[/i] stunnel
编写配置文件
[web_https] accept = 8080 connect = 127.0.0.1:80 cert = stunnel.pem
[/i] stunnel.conf
pem文件
上面配置文件中出现的pem文件,是一个将private key和certificate合并的文件,具体知识可以google。
制作方法如下:
openssl genrsa -out key.pem 2048 openssl req -new -x509 -key key.pem -out cert.pem -days 1095 cat key.pem cert.pem >> stunnel.pem
这个是我做出来的pem文件。
[/i] stunnel.pem
运行
上面产生了全部的三个文件:
stunnel (执行程序)
stunnel.conf (配置文件)
stunnel.pem (认证文件)
假设都放在一个目录下
./stunnel stunnel.conf
即可运行
应用pound
下载pound源码,例如我下载的是Pound-2.7交叉编译
./configure --host=arm-linux-gnueabi --with-ssl=/usr/arm-linux-gnueabi/openssl
注意:如果需要静态链接, 上面加上LDFLAGS=”-static” 即可
下面是一个使用静态链接做出来的pound(免得库不一致带来的问题)。
[/i] pound
编写配置文件
假设命名配置文件为pound.cfg
下面的配置的意思是,所有到单板8080端口的https都会变成http发送到本地的80端口
ListenHTTPS Address 0.0.0.0 Port 8080 Cert "pound.pem" Service BackEnd Address 127.0.0.1 Port 80 End End End
[/i] pound.cfg
pem文件
同stunnel.pem,重命名即可
[/i] pound.pem
运行
上面产生了全部的三个文件:
pound (执行程序)
pound.cfg (配置文件)
pound.pem (认证文件)
假设都放在一个目录下
./pound -f pound.cfg &
即可运行
限制
以上功能,需要在内核>=2.6.28,才能使用。相关文章推荐
- 如何在apache服务器上配置ssl以支持https
- 【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
- Weblogic 服务器如何支持https协议
- 如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
- 如何让Apache和FMS视频流服务器支持微软的EFS加密文件
- 如何启用服务器FSO支持
- 如何配置支持Silverlight的Web服务器
- 《华清远见学习手记》之 移植Boa网页服务器到FS2410
- 如何让服务器支持水晶报表(CRYSTAL REPORT)
- 如何支持测试 HTTPS 网站
- 如何让自己的本地APACHE服务器支持.htaccess
- 实现支付宝接口时url的构造,主要解决服务器不支持https的问题
- IIS服务器如何支持URL重写(ISAPI筛选器 方式)
- 在即时通信软件中中,如何提高服务器支持的最大连接数/并发数
- 如何配置支持Silverlight的Web服务器
- 如何配置支持Silverlight的Web服务器
- 服务器如何支持exe下载
- 什么是FSO以及如何使服务器支持FSO(摘)
- 如何把用http访问的网页转换用https访问
- visual studio 2005/8的内置网页服务器 对非ascii码的字符的文件名支持有BUG