Forum: NGINX add header after fcgi handling

Posted by Aleksandar Lazic (Guest)
on 2012-08-08 11:06
(Received via mailing list)
Hi,

please can anybody help me, I'm stucked and sure that I think in wrong
way.

the .htaccess

/web/root/interfaces/.htaccess

RewriteEngine on
RewriteBase /interfaces
RewriteRule ^json/(.*) index.php?x=$1&%{QUERY_STRING} [NC]

Translated to (the easy part I think)

         location ~ /interfaces/json/(\S+) {
           try_files /$uri /interfaces/index.php?x=$1&$args;
         }

now

Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Headers "X-Requested-With, *"

to
         location /interfaces {
           include
/home/nginx/server/conf/add_header-Access-Control-Allow-Origin.conf;
           add_header Access-Control-Allow-Headers "X-Requested-With,
*";
         }

but when the php request is handled the 'location /interfaces {..}'
does not match any more,
of course.

How can I add the header to the reply after the php is executed?!

Many thanks for help.
Best regards
Aleks
Posted by Maxim Dounin (Guest)
on 2012-08-08 12:56
(Received via mailing list)
Hello!

On Wed, Aug 08, 2012 at 11:05:46AM +0200, Aleksandar Lazic wrote:

> RewriteBase /interfaces
> Header set Access-Control-Allow-Origin *
> but when the php request is handled the 'location /interfaces {..}'
> does not match any more,
> of course.
>
> How can I add the header to the reply after the php is executed?!

You have to add headers in the location where you pass requests to
php.  And you may need to add another location if you don't want to
add headers to all responses from php.  Something like this should
be fine:

    location /interfaces/ {
        add_header ...

        location ~ \.php$ {
            fastcgi_pass ...
            ...
        }
    }

Maxim Dounin
Posted by Aleksandar Lazic (Guest)
on 2012-08-08 13:32
(Received via mailing list)
Hi Maxim,

On 08-08-2012 12:55, Maxim Dounin wrote:
> Hello!
>
> On Wed, Aug 08, 2012 at 11:05:46AM +0200, Aleksandar Lazic wrote:
>
>> Hi,
>>
>> please can anybody help me, I'm stucked and sure that I think in
>> wrong way.

[snipp]

>         location ~ \.php$ {
>             fastcgi_pass ...
>             ...
>         }
>     }

Super thank you. I must rethink my setup with nested locations ;-).

Best regards
Aleks
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.