Comments (8)
I believe you're after the following parameter for specifying custom URL:
check_http_send "GET /server-health.asp HTTP/1.0\r\n\r\n";
from nginx_upstream_check_module.
@vaijab I just tried what you advised and it did not work.
from nginx_upstream_check_module.
I am trying to follow this advice, but have no idea what I am doing:
http://stackoverflow.com/questions/6686261/what-at-the-bare-minimum-is-required-for-an-http-request
from nginx_upstream_check_module.
I am having a really hard time from this. I have 3 iis backend servers running on azure. When I turn one of the servers off, this module fails to recognize that the server is off. The reason for this is Azure actually keeps what they call a "cloud service" open and the page still loads. If i completely stop the service then the module assumes my ip address is 0.0.0.0 and again the check comes back healthy.
The original CEP21 version of this module had some features which allowed you to send custom get reuqest and even had healthcheck_expected. I dont really care if expected does not work, but how can i simply send a get request so that if the page doesnt load then it will fail?
How can healtcheck can just check status.php or status.asp and if that gives a status of 304 or 200 then we are ok?
How can i make sure when upstream servers are entered as dnsnames (ww1.mydomain.com, ww2.mydomain.com), when they are down healthcheck doesnt associate their ip address with 0.0.0.0. To test this, just create an upstream server by hostname, and a cname to a server that doesnt exist.
from nginx_upstream_check_module.
Please also see this
https://github.com/cep21/healthcheck_nginx_upstreams/blob/master/sample_ngx_config.conf
from nginx_upstream_check_module.
Have you specified the virtual host in your IIS backend servers? If so, you should add the host header like this:
check_http_send "GET /server-health.asp HTTP/1.0\r\nHost: yourname.com\r\n\r\n";
The 2xx or 3xx response will be marked as healthy by default.
from nginx_upstream_check_module.
Thanks! That worked brialliantly. One thing that would be nice is if rather than putting the hostname "yourname.com" if it would just pull the hostname from the upstream servers. Something like this:
check_http_send "GET /server-health.asp HTTP/1.0\r\nHost: upstream\r\n\r\n";
That way say if each upstream is configured with a distinct virtual host (ww1, ww2, ww3), it would just poll the appropriate url during the health check and result in this:
check_http_send "GET /server-health.asp HTTP/1.0\r\nHost: ww1.mybackenedservers.com\r\n\r\n";
check_http_send "GET /server-health.asp HTTP/1.0\r\nHost: ww2.mybackenedservers.com\r\n\r\n";
from nginx_upstream_check_module.
I'm afraid it‘s difficult to know if the user configures the right virtual host name for this upstream. It should be flexiable to add the host in the check_http_send
directive.
from nginx_upstream_check_module.
Related Issues (20)
- is there any ways to close the check status error log HOT 3
- healthcheck server status down not closing active TCP connections HOT 2
- can you support [check_1.20.2+.patch] HOT 1
- 在使用nginx-1.20.2的时候我遇到了一些问题 HOT 1
- 请问支持 1.21.6 版本的 nginx 吗? HOT 2
- 请问这个check模块是不是不能跟fair负载策略一起使用 HOT 4
- 请问Patch for nginx 1.22.0有没有开发计划? HOT 8
- 请问有没有正式release版本或tag的计划? 当前最新的正式的tag是14年发布的。 HOT 1
- ./configure: error: no ~/nginx_upstream_check_module/config was found HOT 2
- 健康检查出现误报
- 编译安装报错can not be used when making a PIE object; recompile with -fPIE HOT 1
- make: *** No rule to make target 'build', needed by 'default'. Stop HOT 3
- 后端健康检查连接不释放
- rise数不累加 HOT 3
- nginx1.19.4 reload时报 [emerg] 939#939: unknown directive "check" in /data/app/nginx/conf/upstream.conf:108 HOT 1
- 在win10编译 ng1.18.0 失败
- Can you provide patch for 1.24
- i am using nginx version: nginx/1.20.2 HOT 1
- rocky linux 9.3 编译报错 HOT 2
- bug report: 使用tcp模式做健康检查,rise的count不会超过worker数,导致无法踢出故障节点或恢复故障节点. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nginx_upstream_check_module.