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