Q: about try_files and regex location

Aleksandar Lazic al-nginx at none.at
Fri Nov 11 23:13:42 UTC 2011


Thanks this was the solution.
Also thanks to Valentin.

BR
Aleks
On 11.11.2011 14:18, Maxim Dounin wrote:
> Hello!
>
> On Fri, Nov 11, 2011 at 01:16:25PM +0100, Aleksandar Lazic wrote:
>
>> Dear all,
>>
>> please can you help me to fix the issue with try_files an regex
>> location, thank you.
>>
>> I use
>>
>> ###
>> sbin/nginx -V
>> nginx: nginx version: nginx/1.1.4
>> nginx: built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>> nginx: TLS SNI support enabled
>> nginx: configure arguments: --with-debug --with-libatomic
>> --without-http_ssi_module --without-http_uwsgi_module
>> --without-http_scgi_module --without-http_memcached_module
>> --with-http_ssl_module --user=nginx --group=nginx
>> --prefix=server/nginx --with-http_stub_status_module
>> ###
>>
>> with the following config.
>>
>> ###
>> http {
>>   server {
>> ...
>>         location ~ ^/(share|alfresco)(/res)?(.*$)  {
>>           alias /home/alfresco/alfresco-4.0.b/tomcat/webapps;
>>           try_files $uri /$1$2 /$1$3 @alfresco;
>>         }
>>
>>         location @alfresco {
>>           proxy_pass   http://alfresco;
>>         }
>>   }
>> }
>> ###
>>
>> I get the following error:
>>
>> ###
>> 2011/11/11 12:58:09 [error] 5618#0: *33782 open()
>> 
>> "/home/alfresco/alfresco-4.0.b/tomcat/webapps/share/components/document-details/document-link/home/al"
>> failed (2: No such file or directory), client: xxx, server: xxx,
>> request: "GET
>> /share/components/document-details/document-links-min.js HTTP/1.1",
>> host: "xxx", referrer: 
>> "https://xxx/share/page/site/aleks-glossar/document-details?nodeRef=workspace://SpacesStore/985297e8-ff1b-4423-b6e9-8dacc0011196"
>> ###
>>
>> Could it be that try_files match on '/$1$2' but the open call get
>> '/$1$3' or something else?
>>
>> attached the debug log.
>
> This is the bug in alias and try_files interaction.  Or, more
> strictly, such configuration should be rejected during testing
> configuration as it's not really make sense: alias within regex
> location specifies full path to a file, and try_files is
> meaningless here.
>
> You probably mean to use "root" instead, i.e.
>
>     location ~ ^/(share|alfresco)(/res)?(.*$) {
>         root /home/alfresco/alfresco-4.0.b/tomcat/webapps;
>         try_files $uri /$1$2 /$1$3 @alfresco;
>     }
>
> Maxim Dounin
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list