All Projects → upyun → Upyun Resty

upyun / Upyun Resty

UPYUN's open source software for OpenResty development

Projects that are alternatives of or similar to Upyun Resty

Lua Resty Auto Ssl
On the fly (and free) SSL registration and renewal inside OpenResty/nginx with Let's Encrypt.
Stars: ✭ 1,786 (+1090.67%)
Mutual labels:  openresty, nginx
Leevis.com
Blog
Stars: ✭ 65 (-56.67%)
Mutual labels:  openresty, nginx
Lua Resty Ctxdump
Stash and apply the old ngx.ctx for avoiding being destoried after Nginx internal redirect happens.
Stars: ✭ 35 (-76.67%)
Mutual labels:  openresty, nginx
Janus Webrtc Gateway Docker
Perfect Docker Image for Media Streaming Expert User ( https://github.com/meetecho/janus-gateway )
Stars: ✭ 582 (+288%)
Mutual labels:  openresty, nginx
Ngx Oauth
OAuth 2.0 proxy for nginx written in Lua.
Stars: ✭ 146 (-2.67%)
Mutual labels:  openresty, nginx
Lor
a fast, minimalist web framework for lua based on OpenResty
Stars: ✭ 930 (+520%)
Mutual labels:  openresty, nginx
Lua Io Nginx Module
"Non-Blocking" Lua Disk I/O APIs for OpenResty - Powered by Nginx's Thread Pool
Stars: ✭ 64 (-57.33%)
Mutual labels:  openresty, nginx
Nginx Openresty Windows
nginx for windows with openresty
Stars: ✭ 404 (+169.33%)
Mutual labels:  openresty, nginx
Lua Resty Redis Util
openresty/lua-resty-redis 封装工具类
Stars: ✭ 90 (-40%)
Mutual labels:  openresty, nginx
Ngr
A high-performance & enterprise-class edge gateway middleware
Stars: ✭ 89 (-40.67%)
Mutual labels:  openresty, nginx
Openwaf
Web security protection system based on openresty
Stars: ✭ 563 (+275.33%)
Mutual labels:  openresty, nginx
Motan Openresty
A cross-language RPC framework for rapid development of high performance distributed services based on OpenResty.
Stars: ✭ 117 (-22%)
Mutual labels:  openresty, nginx
Iptv
一键安装管理 FFmpeg / nginx / openresty / xray / v2ray / armbian / proxmox / cloudflare partner,workers / ibm cloud foundry 脚本
Stars: ✭ 481 (+220.67%)
Mutual labels:  openresty, nginx
Lua Resty Post
HTTP post utility for openresty
Stars: ✭ 30 (-80%)
Mutual labels:  openresty, nginx
Micro Auth
A microservice that makes adding authentication with Google and Github to your application easy.
Stars: ✭ 466 (+210.67%)
Mutual labels:  openresty, nginx
Chef Openresty
An Opscode Chef cookbook for the OpenResty NGINX bundle
Stars: ✭ 58 (-61.33%)
Mutual labels:  openresty, nginx
Proxygateway
Proxy Gateway基于openresty(nginx lua module)开发,可以作为接口网关(api gateway)使用,整合业务模块接口,微服务治理聚合,通过web配置界面,能够轻松进行代理配置管理,支持负载均衡,服务器状态检测等
Stars: ✭ 335 (+123.33%)
Mutual labels:  openresty, nginx
Kong Docs Cn
微服务 Api 网关 Kong 最新文档中文版
Stars: ✭ 371 (+147.33%)
Mutual labels:  openresty, nginx
Lua Resty Route
URL Routing Library for OpenResty Supporting Pluggable Matching Engines
Stars: ✭ 88 (-41.33%)
Mutual labels:  openresty, nginx
Lua Resty Http
Lua HTTP client cosocket driver for OpenResty / ngx_lua.
Stars: ✭ 1,647 (+998%)
Mutual labels:  openresty, nginx

upyun-resty

UPYUN's open source software for OpenResty development.

Table of Contents

What is UPYUN

What is OpenResty

OpenResty is a full-fledged web platform by integrating the standard Nginx core, LuaJIT, many carefully written Lua libraries, lots of high quality 3rd-party Nginx modules, and most of their external dependencies. It is designed to help developers easily build scalable web applications, web services, and dynamic web gateways.

Tech Talks

201411 Beijing OSC

201511 Beijing OpenResty Con

201608 Guangzhou UPYUN OpenTalk

201612 Shenzhen OpenResty Con

  • OpenResty 在云处理服务器集群中的应用 (Slide) - @yejingx

201712 Hangzhou OpenResty Meetup

201811 Hangzhou OpenResty Con

  • 又拍云 OpenResty/Nginx 服务优化实践 (Slide) - @tokers

201901 Shenzhen OpenResty x OpenTalk

201903 Beijing OpenResty x OpenTalk

  • OpenResty 在又拍云容器平台中的应用 (Slide) - @yejingx

Projects

Middleware

Project Slardar

Slardar is a HTTP load balancer based on Nginx and lua-nginx-module, by which you can update your upstream list and run lua scripts without reloading Nginx.

Nginx Modules

base64-nginx-module

This module allows for on-the-fly base64 encode. As same as the standard ngx_http_gzip_module.

zstd-nginx-module

Nginx module for the Zstandard compression.

Libraries

checkups

Manage Nginx upstreams in pure ngx_lua.

  • Periodically heartbeat to upstream servers
  • Proactive and passive health check
  • Dynamic upstream update
  • Balance by weighted round-robin or consistent-hash
  • Synchronize with Nginx upstream blocks
  • Try clusters by levels or by keys

httpipe

Lua HTTP client cosocket driver for OpenResty / ngx_lua, interfaces are more flexible.

  • HTTP 1.0/1.1 and HTTPS
  • Flexible interface design
  • Streaming reader and uploads
  • Chunked-encoding request / response body
  • Sets the timeout for read and send operations
  • Limit the maximum response body size
  • Keepalive

redis-ratelimit

This lua library is a request processing rate limit module for ngx_lua. It is used to limit the request processing rate per a defined key between multiple NGINX instances. The limitation is done using the "leaky bucket" method.

sync

This lua-resty library help you to synchronize data(from redis, mysql, memcached and so on) based on the version changes.

It will check the freshness by comparing the version cached by itself(stored in shared memory) and the one from your external suits, data will be updated when the cached one is stale or for the first time.

ctxdump

ngx.ctx is a magic table provided by ngx_lua, it can be used to store per-request Lua context data, however the lifetime is limited to the current location.

See this issue for the details.

This lua-resty library can help you to bypass this limitation, i.e. it stashes and applies the old ngx.ctx for avoiding being destoried after Nginx internal redirect happens.

consul

This Lua library can help OpenResty/ngx_lua users to load config from consul.

load

This Lua library can help OpenResty/ngx_lua users to dynamically load lua files/scripts.

requests

Yet Another HTTP library for OpenResty.

limit-rate

Lua module for limiting request rate for OpenResty/ngx_lua, using the "token bucket" method.

Community Contributions

slice filter and If-Range requests

The semantic of If-Range isn't implemented correctly when using nginx's slice module.

See here for the details.

autoindex module and request body

The autoindex module doesn't discard the request body explicitly,
hence request body will be treated as a pipelined request, and most of time another unexpected response will be sent to client.

See here for the details.

ngx.req.raw_header with single line break

When the header delimiter is \n(rather than \r\n),
ngx.req.raw_header cannot get the complete protocol headers in some case.

See here for the details.

ngx_lua and filter finalize problem

some ngx_lua's APIs(like ngx.flush) don't handle the nginx filter finalize correctly,
thus the Lua VM may raise some exceptions.

See here for the details.

segmentation fault might occur when SSL renegotiation happens

When the SSL/TLS handshake reuses a existing session and the connection upgrades to HTTP/2, segmentation fault might occur when SSL/TLS renegotiation happens.

This problem only happens under the specific Nginx and OpenSSL combinations.

See here for the details.

Work at UPYUN

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].