pós-diretório do Nginx

3

Existe uma parte do código legado em que estou trabalhando, não posso alterar para onde ele faz o POST, então só preciso descobrir uma maneira de contorná-lo.

O bit do JavaScript faz um post da seguinte forma -

POST / authentication / login /

que é bastante estranho, dado que está postando em um diretório, mas de qualquer maneira eu quero configurar o Nginx para aceitar posts neste local e depois passá-los para um pouco de PHP na minha configuração Nginx Eu tenho o seguinte dentro de um bloco http

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /authentication/login/ {

       index hello.php;
       #root html;
       #index /usr/local/nginx/html/hello.php; 


    }


location ~.php$ {
    include /usr/local/nginx/conf/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
}
}

O material php funciona, eu posso ir direto para o hello.php e isso funciona.

Meus logs de erro / logs de acesso não me dão muito. Eu estava pegando um 404 no hello.php mas consertei isso colocando o "index". No entanto, isso nunca acabava chamando o pouco de php. Eu também tentei colocar o material fastcgi no / authenticate / login / location dentro do nginx.conf.

No ponto crucial, se eu postar algo em / authenticate / login, eu quero chamar um pedaço de php para retornar os valores necessários.

Qual é a maneira correta de escrever esse bloco de localização? Alguma idéia?

    
por David 27.04.2013 / 14:10

1 resposta

0

Você precisará especificar a localização exata para fazer o nginx processá-lo antes ~ .php {} block, copiar os parametros fastcgi para que o url seja passado para o php e mude o uri com a regra de reescrita. Bloco de configuração com localização de login deve ser algo como isto:

location = /authentication/login/ {
    rewrite ^(.*) /hello.php last;
    include /usr/local/nginx/conf/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
}
    
por 28.05.2013 / 17:25