{"id":18150069,"url":"https://github.com/sysulq/nginx_upstream_check_module","last_synced_at":"2025-08-02T00:34:16.093Z","repository":{"id":20111448,"uuid":"23381190","full_name":"sysulq/nginx_upstream_check_module","owner":"sysulq","description":"(Not maintained) This module can be used in pure nginx-1.4.7 and nginx-1.6.2 to check upstream servers, with several patches applied.","archived":false,"fork":false,"pushed_at":"2014-11-17T10:26:27.000Z","size":180,"stargazers_count":17,"open_issues_count":0,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-27T07:17:21.632Z","etag":null,"topics":["c","healthcheck","nginx","upstream","upstream-server"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sysulq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-27T07:41:02.000Z","updated_at":"2022-05-12T08:12:49.000Z","dependencies_parsed_at":"2022-08-30T14:20:43.954Z","dependency_job_id":null,"html_url":"https://github.com/sysulq/nginx_upstream_check_module","commit_stats":null,"previous_names":["sysulq/nginx_upstream_check_module"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysulq%2Fnginx_upstream_check_module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysulq%2Fnginx_upstream_check_module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysulq%2Fnginx_upstream_check_module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysulq%2Fnginx_upstream_check_module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sysulq","download_url":"https://codeload.github.com/sysulq/nginx_upstream_check_module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251099763,"owners_count":21536159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","healthcheck","nginx","upstream","upstream-server"],"created_at":"2024-11-02T00:07:27.754Z","updated_at":"2025-04-27T07:17:26.869Z","avatar_url":"https://github.com/sysulq.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n===========================\n\nThis module can be used in pure nginx-1.4.7 to check upstream servers, with several patches applied.\nThis module's main purpose is to add proactive health check for the upstream servers.\nThe core source file comes from Tengine, which is developed and maintained by Alibaba.\n\nFor more details, just check [this website](http://tengine.taobao.org/document/http_upstream_check.html).\n\nSynopsis\n===========================\n```\nhttp {\n    upstream cluster1 {\n        # simple round-robin\n        server 192.168.0.1:80;\n        server 192.168.0.2:80;\n\n        check interval=3000 rise=2 fall=5 timeout=1000 type=http;\n        check_http_send \"HEAD / HTTP/1.0\\r\\n\\r\\n\";\n        check_http_expect_alive http_2xx http_3xx;\n    }\n\n    upstream cluster2 {\n        # simple round-robin\n        server 192.168.0.3:80;\n        server 192.168.0.4:80;\n\n        check interval=3000 rise=2 fall=5 timeout=1000 type=http;\n        check_keepalive_requests 100;\n        check_http_send \"HEAD / HTTP/1.1\\r\\nConnection: keep-alive\\r\\n\\r\\n\";\n        check_http_expect_alive http_2xx http_3xx;\n    }\n\n    server {\n        listen 80;\n\n        location /1 {\n            proxy_pass http://cluster1;\n        }\n\n        location /2 {\n            proxy_pass http://cluster2;\n        }\n\n        location /status {\n            check_status;\n\n            access_log   off;\n            allow SOME.IP.ADD.RESS;\n            deny all;\n        }\n    }\n}\n```\n\nInstallation\n===========================\n\nYou can patch this patch if you only use the original upstream load balance algrithm.\n\n```\npatch -p1 \u003c /path/to/nginx-1.4.7.patch\n```\n\nIf you need nginx_upstream_fair and nginx_upstream_hash, just apply these two patches.\n\n```\npatch -p1 \u003c /path/to/nginx_upstream_fair.patch\npatch -p1 \u003c /path/to/nginx_upstream_hash.patch\n```\n\nAfter all patched have been applied, just try to config and make.\n```\n./configure --add-module=/path/to/nginx_upstream_check_module\n            --add-module=/path/to/nginx-upstream-fair\n            --add-module=/path/to/nginx_upstream_hash\n            \nmake\nmake install\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysulq%2Fnginx_upstream_check_module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsysulq%2Fnginx_upstream_check_module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysulq%2Fnginx_upstream_check_module/lists"}