web
优质
小牛编辑
139浏览
2023-12-01
这个服务器专门处理静态文件。来看代码:
#include <mongols/web_server.hpp>
int main(int,char**)
{
auto f=[](const mongols::request& req){
if(req.method=="GET"&&req.uri.find("..")==std::string::npos){
return true;
}
return false;
};
int port=9090;
const char* host="127.0.0.1";
mongols::web_server
server(host,port,5000,512000,0);
//server(host,port);
server.set_root_path("127.0.0.1:9090","html");
server.set_root_path("localhost:9090","html")
server.set_mime_type_file("mime.conf");
server.set_list_directory(true);
server.set_enable_mmap(true);
server.run(f);
}
从v1.8.4.23开始,web_server支持虚拟主机配置。例如:
server.set_root_path("a:80","html/a");
server.set_root_path("a","html/a");
server.set_root_path("b:80","html/b");
server.set_root_path("b","html/b");
以上实现两个虚拟主机a
和b
。需要注意的是,set_root_path
方法的第一个参数是客户端请求的Host
头部值,对于域名,端口值以及ip地址,是必须同时列出的。