nginx as TCP proxy
Ruslan Ermilov
ru at nginx.com
Wed Mar 27 09:07:16 UTC 2013
On Tue, Mar 26, 2013 at 08:23:51PM +0700, Victor Sudakov wrote:
> Коллеги,
>
> Пытаюсь использовать nginx-devel-1.3.14 (из портов FreeBSD) как tcp load
> balancer. Почему-то тест конфига не проходит с сообщением:
>
> Performing sanity check on nginx configuration:
> nginx: [warn] upstream "test" may not have port 80 in /usr/local/etc/nginx/nginx.conf:34
> nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed
>
> Что я делаю не так? Заранее спасибо. Полный конфиг приведён ниже.
>
>
> worker_processes 1;
>
> events {
> worker_connections 1024;
> }
>
> tcp {
> upstream test {
> # simple round-robin
> server localhost:783;
> server murka:783;
> check interval=3000 rise=2 fall=5 timeout=1000;
> }
>
> server {
> listen 7783;
> proxy_pass test ;
> }
> }
tcp_proxy - это сторонний модуль.
В -devel иногда случаются API-несовместимые изменения, это было одно
из них: http://trac.nginx.org/nginx/changeset/5006/nginx.
Автор модуля отреагировал спустя всего лишь три дня после выхода
nginx 1.3.11 с этим изменением:
https://github.com/yaoweibin/nginx_tcp_proxy_module/commit/f1d5c627fc3a25c3fd36c0850ffb40470bee9d90
Однако, порт FreeBSD использует версию 0.26 этого модуля,
которой уже 10 месяцев:
https://github.com/yaoweibin/nginx_tcp_proxy_module/tags
Правильная последовательность действий видимо такая:
- попросить автора модуля (Weibin Yao <yaoweibin at gmail.com>) выпустить
новую версию модуля;
- попросить ответственного за порт www/nginx-devel обновить порт.
Подробная информация о списке рассылки nginx-ru