https 实现sdk appid + key 认证 整体框架

最近公司准备对外出售sdk,简单对登陆验证的做了一个测试服务器,具体架构如下:

https 协议是在 http 应用层的基层上加上了 安全层ssl 的协议。https 通过openssl 生成的key 以及证书来实现

服务器以及客户端的加密。加密内容包括ip以及发送内容。

以下介绍主要框架结构

1、客户端:libcurl +证书pem(第三点生成),注意默认的libcurl 不支持https,需要自己编译,可以参考:

https://www.cnblogs.com/zzugyl/p/5037152.html 

编译成功后,就可以使用libcurl 来快速的进行编程。

2、服务器:使用nginx +spawn-fastcgi + 自己的cgi 程序,nginx 起到代理的作用,spawn-fastcgi 用来管理cgi,

通过在nginx 以及spawn-fastcgi  绑定同一ip+port,来做到通信的作用。 编写自己的cgi 程序的时候,一定要

安装fastcgi库,并通过环境变量来得到客户端传输过来的内容。如果在cgi 运行是出现找不到相关库的时候,建议把

/usr/local/lib 下的cgi 库全部拷贝一个分到/usr/lib 下。

可以参考:https://blog.csdn.net/ygm_linux/article/details/51261288

 

3、为了支持https ,nginx 需要修改相关配置,并需要使用openssl 生成对应的证书,因为window 使用的pem 格式

的证书,在生成的时候,最好服务器直接生成pem,而不是crt,避免转换的麻烦(有的时候转换还不一定成功)

可以参考:https://www.cnblogs.com/coolworld/p/6943862.html 

你可能感兴趣的:(程序架构,sdk,验证,nginx,fcgi,https)