关于mongoose由http转换成https在Linux下笔记(1)
嵌入式linux下已经实现了mongoose6.4的httpserver
但是,据悉苹果不就将不再支持http,要支持https,所以为了迁就苹果,要在嵌入式 linux下将我们的mongoose httpserver 改成
https.
https 是一种支持ssl证书认证的http,客户端访问https 服务器的时候会比较这两个证书是否一样,在linux下有个openssl 这是一个标准的ssl协议。
mongoose 嵌入了OpenSSL。
在 linux Ubuntu下查看OpenSSL的 版本使用命令 OpenSSL version 便可一看到版本信息。
官网https的说明详见 https://docs.cesanta.com/mongoose/master/#/overview/
步骤如下
1 获取SSL证书文件和私钥文件
2 声明结构mg_bind_opts,初始化ssl_cert和ssl_key
3 使用mg_bind_opt()创建侦听套接字
例子
int main(void)
{
struct mg_mgr mgr;
struct mg_connection *c;
struct mg_bind_opts bind_opts;
mg_mgr_init(&mgr, NULL);
memset(&bind_opts, 0, sizeof(bind_opts));
bind_opts.ssl_cert = "server.pem";
bind_opts.ssl_key = "key.pem";
// Use bind_opts to specify SSL certificate & key file
c = mg_bind_opt(&mgr, "443", ev_handler, bind_opts);
mg_set_protocol_http_websocket(c); ...
}