Re: Кастомная 404 для определенных локейшенов.

2016-10-13 Пенетрантность Sargas
>try_files не стоит использовать
>вообще

Почему?

>ну и  какойто странный конфиг у вас

Все запросы отправляем на app.php, при попытке открыть php скрипт который
не прописан как локейшен в конфиге nginx - отдаем 404 ошибку. Сделано на
случай если зальют вебшелл и попытаются его выполнить. К сожалению
приложение переделывать никто не будет, а залить файл можно много куда.


>в именованом локейшене укажите не $fastcgi_script_name который к этому
моменту непонятно какой а конкретно app.php

попробую, благодарю.


13 октября 2016 г., 13:34 пользователь Panfilov Konstantin <
error...@error500.ru> написал:

> try_files не стоит использовать
> вообще
>
> ну и  какойто странный конфиг у вас
>
> в именованом локейшене укажите не $fastcgi_script_name который к этому
> моменту непонятно какой а конкретно app.php
>
> ну и дебаг лог прекрасно расказывает что происходит в момент запроса и что
> куда редиректит и почему недоходит до бэка
>
>
> 12.10.2016 16:04, Sargas пишет:
>
> Запрос до бекенда не доходит. Нужно как раз сделать чтобы в определенном
> локейшене запрос шел на php скрипт в случае 404 ошибки, а не на статичный
> файл.
>
> 12 октября 2016 г., 5:00 пользователь K K  написал:
>
>> Првет
>>
>> Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже
>> nginx'ом переписывать код ответа на 404
>>
>> --
>> k k
>> вторник, 11 октября 2016г., 21:43 +05:00 от Sargas sarga...@gmail.com:
>>
>> Возможно у кого-то есть какие-то мысли как это реализовать?
>> Буду благодарен.
>>
>> 6 октября 2016 г., 17:45 пользователь Sargas > > написал:
>>
>> Здравствуйте.
>>
>> Подскажите, пожалуйста, как решить следующую задачу.
>> Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а
>> для остальных локейшенов чтобы отдавался файл 404.html
>>
>> server {
>> listen 127.0.0.1:80;
>> server_name example.com;
>>
>> error_log /vhosts/example.com/logs/nginx.error.log;
>> access_log /vhosts/example.com/logs/nginx.main.log main;
>>
>> location ~ /\. { deny all; }
>> index app.php;
>> root /vhosts/example.com/www;
>> error_page 404 /404.html;
>>
>>
>> location / {
>> try_files $uri /app.php$is_args$args;
>> }
>>
>>
>> location ~ ^/app\.php {
>> include fastcgi_params;
>> fastcgi_param DOCUMENT_ROOT $realpath_root;
>> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
>> fastcgi_pass phpfpm;
>> fastcgi_index app.php;
>> fastcgi_connect_timeout 1;
>> fastcgi_intercept_errors on;
>> internal;
>> }
>>
>>
>> location ~ \.php$ {
>> return 404;
>> }
>>
>>
>> location /admin {
>> include conf.d/adminips.conf;
>> try_files $uri /app.php$is_args$args;
>> }
>>
>>
>> location ~* ^.+\.(jpg|jpeg|gif|png|ico|css
>> |zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$
>> {
>> expires max;
>> }
>>
>> }
>>
>>
>> Пробовал делать именованный локейшен и отправлять в него 404, но все
>> равно отдается 404.html
>> location /admin {
>> include conf.d/adminips.conf;
>> try_files $uri /app.php$is_args$args;
>> error_page 404 = @err404;
>> }
>>
>> location @err404 {
>> include fastcgi_params;
>> fastcgi_param DOCUMENT_ROOT $realpath_root;
>> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
>> fastcgi_pass phpfpm;
>> fastcgi_index app.php;
>> fastcgi_connect_timeout 1;
>> fastcgi_intercept_errors on;
>> }
>>
>>
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org 
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>>
>> ___
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> ___
> nginx-ru mailing 
> listnginx-ru@nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Кастомная 404 для определенных локейшенов.

2016-10-13 Пенетрантность Panfilov Konstantin

try_files не стоит использовать
вообще

ну и  какойто странный конфиг у вас

в именованом локейшене укажите не $fastcgi_script_name который к этому 
моменту непонятно какой а конкретно app.php


ну и дебаг лог прекрасно расказывает что происходит в момент запроса и 
что куда редиректит и почему недоходит до бэка



12.10.2016 16:04, Sargas пишет:
Запрос до бекенда не доходит. Нужно как раз сделать чтобы в 
определенном локейшене запрос шел на php скрипт в случае 404 ошибки, а 
не на статичный файл.


12 октября 2016 г., 5:00 пользователь K K > написал:


Првет

Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом,
а уже nginx'ом переписывать код ответа на 404

--
k k

вторник, 11 октября 2016г., 21:43 +05:00 от Sargas
sarga...@gmail.com :

Возможно у кого-то есть какие-то мысли как это реализовать?
Буду благодарен.

6 октября 2016 г., 17:45 пользователь Sargas
https://e.mail.ru/compose/?mailto=mailto%3asarga...@gmail.com>>
написал:

Здравствуйте.

Подскажите, пожалуйста, как решить следующую задачу.
Нужно для админки /admin сделать обработку 404 ошибок
скриптом app.php, а для остальных локейшенов чтобы
отдавался файл 404.html

server {
listen 127.0.0.1:80 ;
server_name example.com ;

error_log /vhosts/example.com/logs/nginx.error.log
;
access_log /vhosts/example.com/logs/nginx.main.log
 main;

location ~ /\. { deny all; }
index app.php;
root /vhosts/example.com/www ;
error_page 404 /404.html;


location / {
try_files $uri /app.php$is_args$args;
}


location ~ ^/app\.php {
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME
$realpath_root$fastcgi_script_name;
fastcgi_pass phpfpm;
fastcgi_index app.php;
fastcgi_connect_timeout 1;
fastcgi_intercept_errors on;
internal;
}


location ~ \.php$ {
return 404;
}


location /admin {
include conf.d/adminips.conf;
try_files $uri /app.php$is_args$args;
}


location ~*

^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$
{
expires max;
}

}


Пробовал делать именованный локейшен и отправлять в него
404, но все равно отдается 404.html
location /admin {
include conf.d/adminips.conf;
try_files $uri /app.php$is_args$args;
error_page 404 = @err404;
}

location @err404 {
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME
$realpath_root$fastcgi_script_name;
fastcgi_pass phpfpm;
fastcgi_index app.php;
fastcgi_connect_timeout 1;
fastcgi_intercept_errors on;
}


___
nginx-ru mailing list
nginx-ru@nginx.org

http://mailman.nginx.org/mailman/listinfo/nginx-ru



___
nginx-ru mailing list
nginx-ru@nginx.org 
http://mailman.nginx.org/mailman/listinfo/nginx-ru





___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Кастомная 404 для определенных локейшенов.

2016-10-11 Пенетрантность Sargas
Возможно у кого-то есть какие-то мысли как это реализовать?
Буду благодарен.

6 октября 2016 г., 17:45 пользователь Sargas  написал:

> Здравствуйте.
>
> Подскажите, пожалуйста, как решить следующую задачу.
> Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а
> для остальных локейшенов чтобы отдавался файл 404.html
>
> server {
> listen 127.0.0.1:80;
> server_name example.com;
>
> error_log /vhosts/example.com/logs/nginx.error.log;
> access_log /vhosts/example.com/logs/nginx.main.log main;
>
> location ~ /\. { deny all; }
> index app.php;
> root /vhosts/example.com/www;
> error_page 404 /404.html;
>
>
> location / {
> try_files $uri /app.php$is_args$args;
> }
>
>
> location ~ ^/app\.php {
> include fastcgi_params;
> fastcgi_param DOCUMENT_ROOT $realpath_root;
> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
> fastcgi_pass phpfpm;
> fastcgi_index app.php;
> fastcgi_connect_timeout 1;
> fastcgi_intercept_errors on;
> internal;
> }
>
>
> location ~ \.php$ {
> return 404;
> }
>
>
> location /admin {
> include conf.d/adminips.conf;
> try_files $uri /app.php$is_args$args;
> }
>
>
> location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|
> woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ {
> expires max;
> }
>
> }
>
>
> Пробовал делать именованный локейшен и отправлять в него 404, но все равно
> отдается 404.html
> location /admin {
> include conf.d/adminips.conf;
> try_files $uri /app.php$is_args$args;
> error_page 404 = @err404;
> }
>
> location @err404 {
> include fastcgi_params;
> fastcgi_param DOCUMENT_ROOT $realpath_root;
> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
> fastcgi_pass phpfpm;
> fastcgi_index app.php;
> fastcgi_connect_timeout 1;
> fastcgi_intercept_errors on;
> }
>
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru