Hi 姚伟斌,
We have tested it on test environment and it is working now; and thanks to you! :)
However, in our test environment we also wanted to test nginx_tcp_proxy_module for WebSocket. We have noticed upstream server health check and status monitor bundle to the nginx_tcp_proxy_module.
Can you tell if we compile nginx_tcp_proxy_module, we can drop the nginx_http_upstream_check_module; and we still patch the nginx-sticky-module with nginx_http_upstream_check_module/nginx-sticky-module.patch and use nginx_tcp_proxy_module for upstream health check also..?
BTW: We have tried to compile both nginx_tcp_proxy_module and nginx_http_upstream_check_module together, following error fires during the make process.
[hirantha@abmx-test nginx-1.2.1]$ patch -p1 < ./contrib/yaoweibin-nginx_upstream_check_module-be97c70/check_1.2.1.patch
patching file src/http/modules/ngx_http_upstream_ip_hash_module.c
patching file src/http/ngx_http_upstream_round_robin.c
patching file src/http/ngx_http_upstream_round_robin.h
[hirantha@abmx-test nginx-1.2.1]$ patch -p1 < ./contrib/yaoweibin-nginx_tcp_proxy_module-a40c99a/tcp.patch
patching file src/core/ngx_log.c
Hunk #1 succeeded at 67 (offset 1 line).
patching file src/core/ngx_log.h
Hunk #1 succeeded at 30 (offset 1 line).
patching file src/event/ngx_event_connect.h
Hunk #1 succeeded at 33 (offset 1 line).
[hirantha@abmx-test nginx-1.2.1]$ ./configure --add-module=./contrib/yaoweibin-nginx_tcp_proxy_module-a40c99a --add-module=./contrib/yaoweibin-nginx_upstream_check_module-be97c70
checking for OS
+ Linux 2.6.18-194.el5PAE i686
checking for C compiler ... found
..
checking for openat(), fstatat() ... found
configuring additional modules
adding module in ./contrib/yaoweibin-nginx_tcp_proxy_module-a40c99a
checking for nginx_tcp_module ... found
+ ngx_tcp_module was configured
adding module in ./contrib/yaoweibin-nginx_upstream_check_module-be97c70
checking for ngx_http_upstream_check_module ... found
+ ngx_http_upstream_check_module was configured
checking for PCRE library ... found
checking for PCRE JIT support ... not found
checking for OpenSSL library ... found
checking for zlib library ... found
creating objs/Makefile
[hirantha@abmx-test nginx-1.2.1]$make
...
...
objs/addon/modules/ngx_tcp_ssl_module.o \
objs/addon/yaoweibin-nginx_upstream_check_module-be97c70/ngx_http_upstream_check_module.o \
objs/addon/yaoweibin-nginx_upstream_check_module-be97c70/ngx_http_upstream_check_handler.o \
objs/ngx_modules.o \
-lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz
objs/addon/yaoweibin-nginx_upstream_check_module-be97c70/ngx_http_upstream_check_handler.o:(.rodata+0x40): multiple definition of `sslv3_client_hello_pkt'
objs/addon/yaoweibin-nginx_tcp_proxy_module-a40c99a/ngx_tcp_upstream_check.o:(.rodata+0x0): first defined here
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/usr/local/hirantha/nginx-1.2.1'
make: *** [build] Error 2
Thanks in advance.