Назад | Перейти на главную страницу

Сообщение каталога Nginx

Я работаю над фрагментом устаревшего кода, я не могу изменить, куда он отправляет POST, поэтому мне просто нужно найти способ обойти его.

Часть Javascript делает сообщение следующим образом:

POST / аутентификация / логин /

что довольно странно, учитывая, что он отправляется в каталог, но в любом случае я хочу настроить Nginx для приема сообщений в это место, а затем передать их немного PHP в моей конфигурации Nginx, у меня есть следующее внутри блока 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;
}
}

Материал php работает, я могу сразу перейти к hello.php, и он работает.

Мои журналы ошибок / журналы доступа действительно не дают мне многого. Я получал 404 на hello.php, но исправил это, добавив "index". Однако это так и не закончилось вызовом бита php. Я также пробовал помещать файлы fastcgi в папку / authentication / login / в nginx.conf.

По сути, если я отправляю что-то в / аутентификацию / логин, я хочу вызвать часть php для возврата необходимых значений.

Как правильно написать этот блок местоположения? Любые идеи?

Вам нужно будет указать точное местоположение, чтобы nginx обработал его до блока ~ .php {}, скопируйте параметры fastcgi, чтобы URL-адрес был передан на php, и измените URI с помощью правила перезаписи. Блок конфигурации с указанием места входа должен выглядеть примерно так:

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