Hi,
There is a problem with ngx_http_slice_module when it is used together
with an internal redirection to a named location. It results in Nginx
workers caching incorrect content and spinning in an infinite loop.
Consider the following fragment:
location /foo {
error_page 550 = @bar;
return 550;
}
location @bar {
slice ...;
proxy_pass ...;
proxy_cache ...;
...
}
In ngx_http_slice_body_filter(), the slice context is associated with
the subrequest:
ngx_http_set_ctx(sr, ctx, ngx_http_slice_filter_module);
However, the location re-match is triggered for the subrequests trying
to fetch each slice. In the ngx_http_named_location() function:
/* clear the modules contexts */
ngx_memzero(r->ctx, sizeof(void *) * ngx_http_max_module);
So, the slice context gets lost. There are several ways to fix this.
Unless you want an API to preserve the context, one simple fix would be
to get the context via r->parent (if ctx == NULL && r != r->main).
What would be the preferred way to fix this?
Thanks.
--
Mindaugas
Hi,
This patch adds a build option to the server_tokens directive. When build is specified the Server header will have a value of NGINX_VER_BUILD. Also the tail of built in error pages will be NGINX_VER_BUILD. off and on are retained as valid values and behave as they always have.
This makes it possible to specify semi-custom server tokens of the form "nginx/<version> (<value>)". <value> is specified with the --build flag for ./configure.
A potential use case is including the name of a custom build for example with --build="super-nginx/0.1". This would give: nginx/1.9.15 (super-nginx/0.1).
Another potential use case of this feature is to include the git revision of a parent build with --build="`git rev-parse --short HEAD`". This would give: nginx/1.9.15 (c3ebabd). In that case the feature can be used to enhance troubleshooting and/or provide more information to end users.
Kind Regards,
Tom Thorogood.
Hi
I am a newbie to nginx.
I am integrating a public key hardware accelerator in OpenSSL using engine interface.
The engine is async capable.
Recently openssl-1.1.0 has added support for ASYNC_JOB.
IIUC, nginx would also require changes in order to do SSL handshake in async way.
Any pointers where can I get the nginx code changes done for async openssl
Regards
Vakul
Hi all,
I created this post yesterday - https://forum.nginx.org/read.php?10,271197
And thought about submitting a patch for it.
Before I do, I wanted to check with you whether this is something you'll be willing to accept
(assuming the implementation is correct, according to standards, doesn't break things etc.)
In short, the idea is to add an optional flag to the map directive that make the map module
pass NGX_HTTP_VAR_NOCACHEABLE in its call to ngx_http_add_variable.
The conf structure will look like:
map $input_var $output_var nocache {
default 0;
"some value" 1;
}
Thank you,
Eran
Hi,
I'm not sure if this is the right place to do this. Please review and comment.
# HG changeset patch
# User Orgad Shaneh <orgads(a)gmail.com>
# Date 1480411801 -7200
# Tue Nov 29 11:30:01 2016 +0200
# Node ID 017b0c3afbbf960b9f29a892a82a77e9f17b6774
# Parent e036a4628d9cc8803579d7d41848d528488eca6d
Use .exe for binaries for all win32 compilers
diff -r e036a4628d9c -r 017b0c3afbbf auto/cc/conf
--- a/auto/cc/conf Tue Nov 29 09:37:45 2016 +0200
+++ b/auto/cc/conf Tue Nov 29 11:30:01 2016 +0200
@@ -144,7 +144,9 @@
CFLAGS="$CFLAGS $NGX_CC_OPT"
NGX_TEST_LD_OPT="$NGX_LD_OPT"
-if [ "$NGX_PLATFORM" != win32 ]; then
+if [ "$NGX_PLATFORM" = win32 ]; then
+ ngx_binext=".exe"
+else
if test -n "$NGX_LD_OPT"; then
ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"