Any new feature request, you can post here #5

Open
yaoweibin opened this Issue Apr 2, 2011 · 27 comments

Comments

Projects
None yet
7 participants
@yaoweibin
Owner

yaoweibin commented Apr 2, 2011

Hi, folks,

If you have any new feature request, you can post here.

@ghost

This comment has been minimized.

Show comment Hide comment
@ghost

ghost Apr 6, 2011

I have a couple requests:

  1. access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.
  2. more extensive health checks. Specifically an HTTPS version of check_http_send. I would also like to do string matching on what is fetched from check_http(s)_send.
  3. fair queue and CARP support for upstreams.
    a. http://nginx.localdomain.pl/wiki/UpstreamFair. Our traffic types are highly variable so round robin is less than optimal. Using a more granular hash would me highly preferred; i.e. specific host address or host:tcp_session opposed to the class-c network.
    b. CARP: your own code :) http://code.google.com/p/nginx-upstream-carp/. This is just a nice to have. I was introduced to carp a couple years ago and liked the way it worked. The predictability was nice for troubleshooting.

ghost commented Apr 6, 2011

I have a couple requests:

  1. access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.
  2. more extensive health checks. Specifically an HTTPS version of check_http_send. I would also like to do string matching on what is fetched from check_http(s)_send.
  3. fair queue and CARP support for upstreams.
    a. http://nginx.localdomain.pl/wiki/UpstreamFair. Our traffic types are highly variable so round robin is less than optimal. Using a more granular hash would me highly preferred; i.e. specific host address or host:tcp_session opposed to the class-c network.
    b. CARP: your own code :) http://code.google.com/p/nginx-upstream-carp/. This is just a nice to have. I was introduced to carp a couple years ago and liked the way it worked. The predictability was nice for troubleshooting.
@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Apr 7, 2011

Owner

Thanks for your suggestion

  1. This module have poor function with log. At present, you can set the error.log to info level to see some meaningful log information. I'll consider to add a access_log module.
  2. Does the SSL check feature not feed your request? HTTPS handshake have a huge part code.
  3. How about the ip_hash? I may add the least busy chosen upstream method at first.
Owner

yaoweibin commented Apr 7, 2011

Thanks for your suggestion

  1. This module have poor function with log. At present, you can set the error.log to info level to see some meaningful log information. I'll consider to add a access_log module.
  2. Does the SSL check feature not feed your request? HTTPS handshake have a huge part code.
  3. How about the ip_hash? I may add the least busy chosen upstream method at first.
@ghost

This comment has been minimized.

Show comment Hide comment
@ghost

ghost Apr 7, 2011

We have a multi-tier site. I need to be able to check that the upstream server is actually getting valid data from it's backend. If it is serving 400s or 500s I need it pulled from rotation. The client connections being load balanced are ssl terminating on the upstreams (we do not want to off-load the SSL to nginx due scale concerns). If there was a way to decouple the health check from the upstream port config I could use check_http_send to do a content check on port 80 for up/down status and proxy SSL traffic to port 443. If the check and proxy ports must be the same I will need to do the content check with https.

  • note: syntax: proxy_pass host:port seems to be incorrect, I get:
    [warn]: upstream "proxy-pt" may not have port 12345 in /etc/nginx/nginx.conf:57
    if I try to specify a port on the proxy_pass line.

ip_hash does work and is what I am starting with. The concern I have is that we some clients that will be very high utilization from a single IP (several hosts behind a firewall) for long periods of time. With basic round robin or a simple hash it is fairly likely that a single upstream host will get hammered.

ghost commented Apr 7, 2011

We have a multi-tier site. I need to be able to check that the upstream server is actually getting valid data from it's backend. If it is serving 400s or 500s I need it pulled from rotation. The client connections being load balanced are ssl terminating on the upstreams (we do not want to off-load the SSL to nginx due scale concerns). If there was a way to decouple the health check from the upstream port config I could use check_http_send to do a content check on port 80 for up/down status and proxy SSL traffic to port 443. If the check and proxy ports must be the same I will need to do the content check with https.

  • note: syntax: proxy_pass host:port seems to be incorrect, I get:
    [warn]: upstream "proxy-pt" may not have port 12345 in /etc/nginx/nginx.conf:57
    if I try to specify a port on the proxy_pass line.

ip_hash does work and is what I am starting with. The concern I have is that we some clients that will be very high utilization from a single IP (several hosts behind a firewall) for long periods of time. With basic round robin or a simple hash it is fairly likely that a single upstream host will get hammered.

@dese

This comment has been minimized.

Show comment Hide comment
@dese

dese May 3, 2011

Hi, awesome module. Support for nginx's Limit Requests & Limit Zone would be great :)

dese commented May 3, 2011

Hi, awesome module. Support for nginx's Limit Requests & Limit Zone would be great :)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 15, 2012

hou about :
access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.

has it support the access log now ?

x-gn commented Mar 15, 2012

hou about :
access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.

has it support the access log now ?

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 15, 2012

Owner

Yes, You can try the develop branch. It support the access.log

https://github.com/yaoweibin/nginx_tcp_proxy_module/tree/develop

On 2012/3/15 14:42, x-gn wrote:

hou about :
access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.

has it support the access log now ?


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 15, 2012

Yes, You can try the develop branch. It support the access.log

https://github.com/yaoweibin/nginx_tcp_proxy_module/tree/develop

On 2012/3/15 14:42, x-gn wrote:

hou about :
access|error log support in the tcp:server context. primarily I would like to see access logs to the extent of being able to map an incoming request to the backend it was proxied too.

has it support the access log now ?


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 15, 2012

hi , how can i get the version of develop ,not the stable release version ? could you share me the download link ?

x-gn commented Mar 15, 2012

hi , how can i get the version of develop ,not the stable release version ? could you share me the download link ?

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 15, 2012

Owner

I don't know how to download this branch. But you can clone this branch
with git.

git clone git://github.com/yaoweibin/nginx_tcp_proxy_module.git
cd nginx_tcp_proxy_module
git checkout -b develop origin/develop

On 2012/3/15 17:53, x-gn wrote:

hi , how can i get the version of develop ,not the stable release version ? could you share me the download link ?


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 15, 2012

I don't know how to download this branch. But you can clone this branch
with git.

git clone git://github.com/yaoweibin/nginx_tcp_proxy_module.git
cd nginx_tcp_proxy_module
git checkout -b develop origin/develop

On 2012/3/15 17:53, x-gn wrote:

hi , how can i get the version of develop ,not the stable release version ? could you share me the download link ?


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 19, 2012

thanks ! i have got the develop source by git, but how can i deploy ?

x-gn commented Mar 19, 2012

thanks ! i have got the develop source by git, but how can i deploy ?

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 19, 2012

Owner

See the README? It's the same as the master branch.

On 2012/3/19 9:23, x-gn wrote:

thanks ! i have got the develop source by git, but how can i deploy ?


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 19, 2012

See the README? It's the same as the master branch.

On 2012/3/19 9:23, x-gn wrote:

thanks ! i have got the develop source by git, but how can i deploy ?


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 20, 2012

ok, i did just like follow:
cd nginx-0.8.46
patch -p1 < /root/nginx_tcp_proxy_module_develop/tcp.patch
./configure --prefix=/usr/local/nginx --add-module=/root/nginx_tcp_proxy_module_develop
when i configure it above, i got the error :
: No such file or directorye_develop/config: line 13: auto/feature

plz help me

x-gn commented Mar 20, 2012

ok, i did just like follow:
cd nginx-0.8.46
patch -p1 < /root/nginx_tcp_proxy_module_develop/tcp.patch
./configure --prefix=/usr/local/nginx --add-module=/root/nginx_tcp_proxy_module_develop
when i configure it above, i got the error :
: No such file or directorye_develop/config: line 13: auto/feature

plz help me

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 20, 2012

Owner

Where is the config file?

ls /root/nginx_tcp_proxy_module_develop/config

On 2012/3/20 11:39, x-gn wrote:

ok, i did just like follow:
cd nginx-0.8.46
patch -p1< /root/nginx_tcp_proxy_module_develop/tcp.patch
./configure --prefix=/usr/local/nginx --add-module=/root/nginx_tcp_proxy_module_develop
when i configure it above, i got the error :
: No such file or directorye_develop/config: line 13: auto/feature

plz help me


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 20, 2012

Where is the config file?

ls /root/nginx_tcp_proxy_module_develop/config

On 2012/3/20 11:39, x-gn wrote:

ok, i did just like follow:
cd nginx-0.8.46
patch -p1< /root/nginx_tcp_proxy_module_develop/tcp.patch
./configure --prefix=/usr/local/nginx --add-module=/root/nginx_tcp_proxy_module_develop
when i configure it above, i got the error :
: No such file or directorye_develop/config: line 13: auto/feature

plz help me


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 20, 2012

yes

x-gn commented Mar 20, 2012

yes

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 22, 2012

hi,yaoweibin, any news ?

x-gn commented Mar 22, 2012

hi,yaoweibin, any news ?

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 22, 2012

Owner

Can you show me this command?

ls -l /root/nginx_tcp_proxy_module_develop/config

On 2012/3/22 14:11, x-gn wrote:

hi,yaoweibin, any news ?


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 22, 2012

Can you show me this command?

ls -l /root/nginx_tcp_proxy_module_develop/config

On 2012/3/22 14:11, x-gn wrote:

hi,yaoweibin, any news ?


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 26, 2012

ls -l /root/nginx_tcp_proxy_module_develop/config :
-rw-r--r-- 1 root root 2337 Mar 17 16:40 /root/nginx_tcp_proxy_module_develop/config

x-gn commented Mar 26, 2012

ls -l /root/nginx_tcp_proxy_module_develop/config :
-rw-r--r-- 1 root root 2337 Mar 17 16:40 /root/nginx_tcp_proxy_module_develop/config

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 26, 2012

Owner

It's weird. Why your file size is different from me:

[wenjing.ywb@tfs036101 nginx_tcp_proxy_module]$ ls -l config
-rw-r--r-- 1 wenjing.ywb users 2299 Mar 26 10:04 config

On 2012/3/26 9:24, x-gn wrote:

ls -l /root/nginx_tcp_proxy_module_develop/config :
-rw-r--r-- 1 root root 2337 Mar 17 16:40 /root/nginx_tcp_proxy_module_develop/config


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 26, 2012

It's weird. Why your file size is different from me:

[wenjing.ywb@tfs036101 nginx_tcp_proxy_module]$ ls -l config
-rw-r--r-- 1 wenjing.ywb users 2299 Mar 26 10:04 config

On 2012/3/26 9:24, x-gn wrote:

ls -l /root/nginx_tcp_proxy_module_develop/config :
-rw-r--r-- 1 root root 2337 Mar 17 16:40 /root/nginx_tcp_proxy_module_develop/config


Reply to this email directly or view it on GitHub:
#5 (comment)

@x-gn

This comment has been minimized.

Show comment Hide comment
@x-gn

x-gn Mar 26, 2012

OK,could you share me your version? my email is : xgnster@gmail.com

x-gn commented Mar 26, 2012

OK,could you share me your version? my email is : xgnster@gmail.com

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin Mar 26, 2012

Owner

This is what 'git log' show:

commit 58217c6
Merge: ccae238 3c80ca0
Author: Weibin Yao yaoweibin@gmail.com
Date: Sat Mar 17 19:45:32 2012 +0800

Merge branch 'develop' of 

github.com:yaoweibin/nginx_tcp_proxy_module into develop

commit ccae238
Author: Weibin Yao yaoweibin@gmail.com
Date: Sat Mar 17 19:43:59 2012 +0800

 Fix for "ssl_session_cache builtin" (broken since 1.1.1, r3993)
 merge from 4154

commit 3c80ca0
Author: Weibin Yao yaoweibin@gmail.com
Date: Mon Jan 30 07:23:26 2012 +0000

 update test scripts

commit 2d6dbec
Author: Weibin Yao yaoweibin@gmail.com
Date: Mon Jan 30 14:22:50 2012 +0800

 do not verify the https host in the test scripts

On 2012/3/26 11:16, x-gn wrote:

OK,could you share me your version? my email is : xgnster@gmail.com


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented Mar 26, 2012

This is what 'git log' show:

commit 58217c6
Merge: ccae238 3c80ca0
Author: Weibin Yao yaoweibin@gmail.com
Date: Sat Mar 17 19:45:32 2012 +0800

Merge branch 'develop' of 

github.com:yaoweibin/nginx_tcp_proxy_module into develop

commit ccae238
Author: Weibin Yao yaoweibin@gmail.com
Date: Sat Mar 17 19:43:59 2012 +0800

 Fix for "ssl_session_cache builtin" (broken since 1.1.1, r3993)
 merge from 4154

commit 3c80ca0
Author: Weibin Yao yaoweibin@gmail.com
Date: Mon Jan 30 07:23:26 2012 +0000

 update test scripts

commit 2d6dbec
Author: Weibin Yao yaoweibin@gmail.com
Date: Mon Jan 30 14:22:50 2012 +0800

 do not verify the https host in the test scripts

On 2012/3/26 11:16, x-gn wrote:

OK,could you share me your version? my email is : xgnster@gmail.com


Reply to this email directly or view it on GitHub:
#5 (comment)

@avetisk

This comment has been minimized.

Show comment Hide comment
@avetisk

avetisk May 19, 2012

Hi,

In the context of tcp { upstream { server { ... }}}, it would be awesome to give a UNIX socket instead of address:port.

e.g: listen unix:/path/to/socket;

avetisk commented May 19, 2012

Hi,

In the context of tcp { upstream { server { ... }}}, it would be awesome to give a UNIX socket instead of address:port.

e.g: listen unix:/path/to/socket;

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin May 22, 2012

Owner

It supports the UNIX socket. It can't be?

Owner

yaoweibin commented May 22, 2012

It supports the UNIX socket. It can't be?

@avetisk

This comment has been minimized.

Show comment Hide comment
@avetisk

avetisk May 22, 2012

You're right. I had a typo in my conf file...

avetisk commented May 22, 2012

You're right. I had a typo in my conf file...

@iwanbk

This comment has been minimized.

Show comment Hide comment
@iwanbk

iwanbk May 22, 2012

Can it support transparent proxy?

iwanbk commented May 22, 2012

Can it support transparent proxy?

@yaoweibin

This comment has been minimized.

Show comment Hide comment
@yaoweibin

yaoweibin May 23, 2012

Owner

No, It's just reverse proxy module.

On 2012/5/23 7:09, Iwan Budi Kusnanto wrote:

Can it support transparent proxy?


Reply to this email directly or view it on GitHub:
#5 (comment)

Owner

yaoweibin commented May 23, 2012

No, It's just reverse proxy module.

On 2012/5/23 7:09, Iwan Budi Kusnanto wrote:

Can it support transparent proxy?


Reply to this email directly or view it on GitHub:
#5 (comment)

@splitice

This comment has been minimized.

Show comment Hide comment
@splitice

splitice Jun 21, 2012

proxy_bind support. I attempted to add it myself but unfortunately the nginx code is just too awesome for my mortal mind to understand.

proxy_bind support. I attempted to add it myself but unfortunately the nginx code is just too awesome for my mortal mind to understand.

@emka

This comment has been minimized.

Show comment Hide comment
@emka

emka Nov 14, 2012

support for basic auth using the directives at http://wiki.nginx.org/HttpAuthBasicModule would be amazing

emka commented Nov 14, 2012

support for basic auth using the directives at http://wiki.nginx.org/HttpAuthBasicModule would be amazing

@splitice

This comment has been minimized.

Show comment Hide comment
@splitice

splitice Jan 27, 2013

Thanks for proxy_bind support :)

Possible ideas for expansion:

Basically all the things ive ever thought of doing with your module but been unable to do.

Thanks for proxy_bind support :)

Possible ideas for expansion:

Basically all the things ive ever thought of doing with your module but been unable to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment