[patch] Http image_filter: return 405 when method is HEAD andbody is empty.
胡聪 (hucc)
hucong.c at foxmail.com
Mon Jun 19 18:07:38 UTC 2017
Hi,
On Tuesday, Jun 20, 2017 1:21 AM +0300, Maxim Dounin wrote:
>On Tue, Jun 20, 2017 at 12:56:15AM +0800, 胡聪 (hucc) wrote:
>
>> Returning 415 does not conform to the HTTP protocol when image and proxy_pass
>> configured in same location.
>>
>> # HG changeset patch
>> # User hucongcong <hucong.c at foxmail.com>
>> # Date 1497890354 -28800
>> # Tue Jun 20 00:39:14 2017 +0800
>> # Node ID af3a94de6a6549dec5e1205514eda1893313a14c
>> # Parent d1816a2696de8c2faa1cd913a151e5f62a8620f3
>> Http image_filter: return 405 when method is HEAD and body is empty.
>>
>> diff -r d1816a2696de -r af3a94de6a65 src/http/modules/ngx_http_image_filter_module.c
>> --- a/src/http/modules/ngx_http_image_filter_module.c Fri Jun 16 18:15:58 2017 +0300
>> +++ b/src/http/modules/ngx_http_image_filter_module.c Tue Jun 20 00:39:14 2017 +0800
>> @@ -330,6 +330,12 @@ ngx_http_image_body_filter(ngx_http_requ
>> }
>> }
>>
>> + if (r->method & NGX_HTTP_HEAD) {
>> + return ngx_http_filter_finalize_request(r,
>> + &ngx_http_image_filter_module,
>> + NGX_HTTP_NOT_ALLOWED);
>> + }
>> +
>> return ngx_http_filter_finalize_request(r,
>> &ngx_http_image_filter_module,
>> NGX_HTTP_UNSUPPORTED_MEDIA_TYPE);
>
>Please clarify why you think that the current code is wrong. I
>don't see any problems with returning 415 to HEAD requests as long
>we are going to return 415 to GETs.
Ok, the problem is that nginx will return 200 to GET request and
415 to HEAD request.
The configuration looks like:
#proxy_method GET;#not configured
location / {
image resize 180 360;
#...
proxy_pass http://test_upstream$uri;
}
Best wishes
-hucc
More information about the nginx-devel
mailing list