我尝试将SSL添加到使用mongoose实现的网络服务器,但我没有设法让它工作。我安装了openssl,并尝试按照https://github.com/cesanta/mongoose/blob/master/docs/SSL.md
中的文档进行操作我启用了SSL:
#define NS_ENABLE_SSL
这是我的主要功能:
int main(int argc, char *argv[]) {
struct mg_server *server;
char port[10] = "8000";
const char * _port;
if (argc > 1) {
strcpy(port, argv[1]);
}
// Create and configure the server
server = mg_create_server(NULL, ev_handler);
mg_set_option(server, "listening_port", port);
_port = mg_get_option(server, "listening_port");
if (strlen(_port)) {
printf("Starting on port %s\n", _port);
for (;;) {
mg_poll_server(server, 1000);
}
}
else {
printf("Cannot start on port %s\n", port);
}
// Cleanup, and free server instance
mg_destroy_server(&server);
return 0;
}
我有案例 MG_AUTH:在ev_handler函数中返回MG_TRUE; 。
我用:
运行我的服务器sudo ./hihttpd 80,ssl://443:ssl.pem
ssl.pem与hihttpd位于同一文件夹中。
https://127.0.0.1/返回SSL连接错误: - /
您可以在githut https://github.com/apiel/hihttpd/blob/master/hihttpd.c
上查看所有内容答案 0 :(得分:0)
您是否添加了设置证书路径的选项?
mg_set_option(server,"ssl_certificate", "../ssl.pem");