• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Настройка nginx

Abix

Мой дом здесь!
Регистрация
18 Фев 2008
Сообщения
281
Реакции
478
Немного не в тему битрикса но все же, не стал создавать вопрос в соседней ветке пока что, думаю и тут справимся.

Код:
server {
    listen 80;
    listen 443 ssl http2;
    server_name proxy.app;
    root "/home/vagrant/proxy/public";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ (tt_.*)\.php$ {
        rewrite ^(.*)$ /index.php/proxy?url=$1 last;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    #access_log off;
    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/proxy.app-error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }

    ssl_certificate     /etc/nginx/ssl/proxy.app.crt;
    ssl_certificate_key /etc/nginx/ssl/proxy.app.key;
}

Смысл задачи состоит в том чтобы заставить реврайтить запрос вида:
proxy.app/tt_blabla.php -> proxy.app/index.php/proxy?url=tt_blabla.php

По идее все решается правилом
location ~ (tt_.*)\.php$ {
rewrite ^(.*)$ /index.php/proxy?url=$1 last;
}
НО не тут то было Laravel (5.3) упорно не хочет считать перенаправленный запрос истинным, хотя просто на скриптах работает

Сейчас в роутах правило:
Route::any('proxy','TestController@index');

З.Ы. Если перезаписываю REQUEST_URI то соотв Laravel отрабатывает по нему.
 
Ну так и перепишите $_SERVER['REQUEST_URI'] = что-то там первой строкой в скрипте. Или нужно сделать труЪ через nginx?
 
  • Нравится
Реакции: Abix
Хочется сделать тру, но уже как бы временное решение нашел.
Код:
location / {
        try_files $uri $uri/ /index.php?$query_string;
        set $save_uri $uri;
    }

    location ~ (us_.*)\.php$ {
        rewrite ^(.*)$ /proxy?file=$1 last;
        set $save_uri $uri;
    }

........

location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  REQUEST_URI $save_uri;
.......
 
А другого я думаю и нет. То же самое что я предложил только в nginx :) Вполне труЪ
 
  • Нравится
Реакции: Abix
Ок. тогда можно закрывать тему.
 
Назад
Сверху