Skip to content

gfrankliu/nginx-http-upstream-dynamic-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

076fc98 · Nov 14, 2020

History

8 Commits
Mar 18, 2016
Mar 18, 2016
Sep 23, 2018
Apr 21, 2016
Mar 19, 2016
Sep 23, 2018
Nov 13, 2020

Repository files navigation

Name

  • ngx_http_upstream_dynamic_module

Description

  • This module provides the functionality to resolve domain names into IP addresses in an upstream at run-time.
  • It comes from Taobao Tengine @ http://tengine.taobao.org

Compilation

\#for nginx 1.10 or lower, use the patch http-upstream-dynamic.patch
\#for nginx 1.14 or higher, use the patch http-upstream-dynamic.patch-1.14.0+

patch -p0 < /path/to/nginx-http-upstream-dynamic-module/http-upstream-dynamic.patch

./configure --add-module=/path/to/nginx-http-upstream-dynamic-module

Examples

upstream backend {
    dynamic_resolve fallback=stale fail_timeout=30s;

    server a.com;
    server b.com;
}

server {
    ...

    proxy_pass http://backend;
}

Directives

dynamic_resolve

Syntax: dynamic_resolve [fallback=stale|next|shutdown] [fail_timeout=time]

Default: -

Context: upstream

Enable dynamic DNS resolving functionality in an upstream.

The 'fallback' parameter specifies what action to take if a domain name can not be resolved into an IP address:

  • stale, use the original IP addresses resolved when tengine starts.
  • next, go to next availiable server in the upstream.
  • shutdown, finalize current request.

The 'fail_timeout' parameter specifies how long time tengine considers the DNS server as unavailiable if a DNS query fails for a server in the upstream. In this period of time, all requests comming will follow what 'fallback' specifies.

Notes

About

Enable dynamic DNS resolving functionality in an upstream.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages