Товарищи, уже невмоготу. Есть у меня нужда сбалансировать нагрузки используя nginx на кластер. Балансирую посредством
ngx_http_upstream_module и
proxy_pass. В мануалах всё описано на удивление элементарно, но…
nginx.conf:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream apps {
server 192.168.1.237:8080;
server 192.168.1.240:8080;
}
server {
listen 80;
server_name _;
location / {
proxy_pass http://apps;
}
}
}
В таком варианте 192.168.1.135 возвращало мне «
The page you are looking for is temporarily unavailable. Please try again later», несмотря на то, что 192.168.1.237 и 192.168.1.240 пинговались, по ссылкам с портом 8080 открывались,
curl,
wget с сервера-балансировщика на конечные хосты работают,
elinks оттуда же нормально открывал сайты.
error.log пугал малопонятными:
2016/04/13 18:36:59 [crit] 5427#0: *20 connect() to 192.168.1.240:8080 failed (13: Permission denied) while connecting to upstream, client: 192.168.1.15, server: _, request: "GET / HTTP/1.1", upstream: "http://192.168.1.240:8080/", host: "192.168.1.135"
2016/04/13 18:36:59 [crit] 5427#0: *20 connect() to 192.168.1.237:8080 failed (13: Permission denied) while connecting to upstream, client: 192.168.1.15, server: _, request: "GET / HTTP/1.1", upstream: "http://192.168.1.237:8080/", host: "192.168.1.135"
На этом этапе у меня случился первый серьёзный затык, из которого меня вчера вывели (
возможно ошибочно?), посоветовав сделать:
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
sudo semodule -i mynginx.pp
После чего проблема перешла в новую стадию: при таком конфиге поход по айпишнику 192.168.1.135 переправляет не на айпи адреса, указанные в
upstream, а на httр://apps буквально. И тут я уже завис всерьёз и надолго.
UPD 21042016: после плясок с бубном теперь upstream исправно берёт ip 192.168.1.135, пытаясь перенаправить куда надо, но, собака, сам приписывает себе порт ноды 8080, и пытается лезть на 192.168.1.135:8080, где ничего нет.
Товарищи, подскажите где я свернул не туда и что я делаю не так? Если верить многочисленным описаниям — вся настройка балансировщика простая как двери и запускается с полпинка…
Система: CentOS 7 Minimal.