Skip to content

eJet v1.6.8 released

Latest
Compare
Choose a tag to compare
@kehengzhong kehengzhong released this 25 Jul 04:06
· 4 commits to main since this release
4137d5a

The modifications made in this version are as follows:

  1. The communication interface has added a sockopt option, allowing the setting of TCP connection attribute options.
  2. The issue of garbled characters when outputting the request line content to the log after sending an HTTP request by the reverse proxy has been corrected.
  3. In the Location configuration, an auto redirect option has been added to address whether to automatically handle redirection after receiving a 301/302 response from the Origin server following an HTTP request by the reverse proxy.
  4. Analogous to the parameter configuration for managing received HTTP requests in http.listen, add http.connect configuration items in the configuration file to manage the configuration parameters for HTTP requests initiated proactively by eJet. This includes the size of request or response headers, connection establishment timeout, certificate information, proxy server configuration, caching configuration information, script programs, etc.;
  5. When sending an HTTPS request with an SSL secure connection to the Origin server, if the configuration file has set a Proxy server for this Origin server, the direct SSL connection to the proxy server has been corrected to establish an SSL Tunnel for encrypted transmission of HTTPS requests and responses.
  6. Scripts and statements for handling local cache files have been added to the configuration file, including cache_check_script, closecache statement, and removecache statement, etc., to enhance the access efficiency and flexibility of proxy requests.
  7. Assignment statements have been added to dynamically modify the values of various variables, including request headers, response headers, cookies, queries, system-defined global variables, instance variables in HTTPMsg, parameter variables, etc.
  8. Bugs such as memory leaks during high-concurrency access, thread synchronization, exceptions caused by receiving a large number of HTTP requests on the same connection, repeated closure of instance objects, and multi-threaded access to the same object have been revised, and the efficiency of memory access and thread processing for HTTP request and response has been optimized.
  9. The six matching methods for matching an HTTPLoc under a virtual host based on the relative path of the HTTP request in the configuration file have been optimized.
  10. Memory pool technology has been adopted to fully optimize the memory usage of all system data, significantly reducing memory fragmentation during long-term operation.
  11. Load balancing configurations and algorithms for reverse proxy/FastCGI and other functions have been added. When setting up reverse proxy and other functions, the eJet server can configure multiple Origin servers and set corresponding load balancing algorithms to evenly distribute client HTTP requests to different Origin servers.
  12. The performance bottleneck of writing access logs to log files has been optimized.

本版修改的功能如下:

  1. 通信接口增加了sockopt选项,可设置TCP连接的属性选项;
  2. 反向代理发送http请求后,将请求行内容输出到日志时,出现的乱码问题已修正;
  3. 在Location中,增加了auto redirect配置选项,解决反向代理发送http请求后,收到Origin服务器返回301/302时,是否自动处理重定向问题;
  4. 类比http.listen管理接收的HTTP请求的参数配置,在配置文件中增加http.connect配置项,管理eJet主动向外发起的HTTP请求的配置参数,包括请求头或响应头大小、 连接建立超时时间、证书信息、代理服务器配置、缓存配置信息、脚本程序等;
  5. 当向Origin服务器发送SSL安全连接的HTTPS请求时,如果配置文件为这个Origin服务器设置了Proxy代理服务器,则直接建立到代理服务器的SSL连接,修正成建立SSL Tunnel方式来实现HTTPS请求和响应的加密传输;
  6. 在配置文件中,增加了处理本地缓存文件的脚本和语句,包括cache_check_script、closecache语句和removecache语句等,以提升代理请求的访问效率和灵活性;
  7. 增加了赋值语句来动态修改各种变量的值,包括请求头、响应头、cookie、query、系统定义全局变量、HTTPMsg中的实例变量、参数变量等;
  8. 修订了大并发访问时的内存泄漏、线程同步、同一个连接上收到大量的HTTP请求导致异常、实例对象重复关闭、多线程访问同一个对象等bug,优化了HTTP请求和响应相对应内存访问、线程处理的效率;
  9. 优化了配置文件中根据HTTP请求的相对路径来匹配某个虚拟主机下的HTTPLoc的六种匹配方式;
  10. 采用内存池技术,全面优化了系统所有数据的内存使用方式,大大降低了长时间运行时的内存碎片;
  11. 增加了反向代理/FastCGI等功能的负载均衡配置和算法,eJet服务器在设置反向代理等功能时,可配置多台Origin服务器,并设置相应的负载均衡算法,来均衡地分配客户端HTTP请求到不同的Origin服务器上;
  12. 优化了访问日志写入到日志文件的性能瓶颈问题;