Apache mod_proxy_balancer: How to get “nonce” param

При работе с балансировщиком Apache, настроенным с помощью модуля mod_proxy_balancer, не всегда удобно пользоваться веб-интерфейсом Load Balancer Manager. Особенно, когда необходимо изменить настройки балансировщика из скрипта. Например, изменить вес или статус одного из серверов, участвующих в балансировке.

На первый взгляд нет ничего сложного, в том, что бы изменить настройки через Load Balancer Manager, посмотреть в логах http-сервера соответствующий запрос и использовать его в скрипте.

Например, запрос на перевод в балансировщике my-balancer сервера http://my-apphost1:8080 в статус Disabled будет выглядеть так:

"GET /balancer-manager?lf=1&ls=0&wr=instanceOne&rr=&dw=Disable&w=http%3A%2F%2Fmy-apphost1%3A8080&b=my-balancer&nonce=307afdec-c4f3-17e5-b9d2-db8572d454bd HTTP/1.1"

Где:

b – Balancer name (my-balancer)
w – Worker (http://my-apphost1:8080)
lf – Load factor (1)
ls – Lbset (0)
wr – Route (instanceOne)
rr – Route redirect (none)
dw – Worker status (Enable|Disable)
nonce – Специальный параметр, который используется для защиты страницы Load Balancer Manager. Формируется автоматически на основе UUID.

Сложность заключается в определении параметра nonce, который изменяется динамически, например, после перезапуска http-сервера.

Для этого можно поступить следующим образом: с помощью curl получить страницу Load Balancer Manager, а затем, используя команды grep и sed, получить значение nonce:

Теперь можно использовать полученное значение nonce в скриптах:

VN:F [1.9.22_1171]
Rating: 3.0/5 (2 votes cast)
Tagged with: , ,
Posted in IBM HTTP Server & Plug-in, Others

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Language: