web服务器下载 web服务器是啥啊( 四 )


HTTP监听服务HTTPListen依赖于底层ePump框架的eptcp_mlisten接口函数 , 通过该接口 , 让每一个epump监听线程都去监听指定IP地址和端口上的连接请求和数据请求服务 。对于支持REUSEPORT的操作系统内核 , 大量客户端发起的并发连接 , 将会通过内核accept系统调用均衡地分摊到各epump线程处理 , 对于不支持REUSEPORT的操作系统 , ePump框架负责大并发连接在各监听线程间的负载均衡 。
HTTP监听服务HTTPListen可以设置当前监听为需要SSL的安全连接 , 并配置SSL握手所需的私钥、证书等 。配置为SSL安全连接监听服务后 , 客户端发起的HTTP请求都必须是以https://开头的URL 。
在HTTP监听服务HTTPListen里 , 可以设置Script脚本程序 , 执行各种针对请求数据进行预判断和预处理的指令 。这些脚本程序的执行时机是在收到完整的HTTP请求头后进行的 。
eJet系统提供了动态库回调机制 , 使用动态库回调 , 既可以扩展eJet Web服务器能力 , 也可以将小型应用系统附着在eJet Web服务器上 , 处理客户端发起的HTTP请求 。
HTTP监听服务HTTPListen下可管理多个虚拟主机HTTPHost , 采用主机名称为索引主键的hashtab来管理下属的虚拟主机表 。当当前监听服务的端口收到TCP请求和数据后 , 根据Host请求头的主机名称 , 来精确匹配定位出该请求的HTTP虚拟主机HTTPHost 。
3.3 HTTP虚拟主机 – HTTPHost 在HTTPListen监听服务下 , 可以配置多个虚拟主机 , 虚拟主机HTTPHost是eJet Web服务器资源管理体系的第二层 , 将HTTPCon缓冲区的数据进行解析 , 创建HTTPMsg来保存解析后的HTTP请求数据 , HTTP协议规范中 , 请求头Host携带的值内容是URL中domain信息 , 所以HTTP虚拟主机HTTPHost , 对应的就是请求域名 , 或者就是一个网站 。一个监听服务HTTPListen下可以寄宿大量的通过虚拟主机HTTPHost来管理的网站 。
HTTP虚拟主机的配置信息格式参考如下:
host = {    host name = *; #www.ejetsrv.com    type = server | proxy | fastcgi;    gzip = on;    ssl certificate = cert.pem;    ssl private key = cert.key;    ssl ca certificate = cacert.pem;    script = {        #reply 302 https://ke.test.ejetsrv.com:8443$request_uri;        addResHeader X-Nat-IP $remote_addr;    }    error page = {        400 = 400.html;        504 = 504.html;        root = /opt/ejet/errpage;    }    root = /home/hzke/sysdoc;    location = {...}    location = {...}    location = {...}} HTTP虚拟主机的名称一般是域名格式 , 即多级名称体系 , 包含顶级域名、二级域名、三级域名等 , 通过DNS系统 , 将该域名解析到当前eJet Web服务器所在的IP地址上 , 如果在该IP地址上启动HTTPListen服务 , 那么所有使用该域名的请求都会指向到对应的HTTPHost虚拟主机 。
eJet系统根据功能服务形式 , 对虚拟主机定义了几种类型:Server、Proxy、FastCGI等 , 这几种类型可以同时并存 , 可或在一起 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: