Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: POST пуст (whmcs)
On Sun, May 01, 2011 at 05:53:26AM -0400, nonethree wrote:
> Поставил nginx admin, плагин для cPanel (набор
> скриптов для генерации конфигов итд.). В
> качестве фронтенда к apache.
>
> Обнаружилась такая проблема, помогите
> решить пожалуйста.
>
> Воспроизводимость: Заказываем в whmcs
> продукт -> переходим к странице выбора
> оплаты -> жмём кнопку -> получаем пустую
> страницу.
>
> В логе строка: - - [27/Apr/2011:19:42:02 +0700] "POST
> /cart.php?a=add HTTP/1.1" 200 0 "http://www.domain.ru/cart.php" [^]
> "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.15)
> Gecko/20110303 Firefox/3.6.15 WebMoney Advisor"
> обратите внимание на размер, он
> нулевой.
>
> Конфиги:
> server {
> listen domain:80;
> server_name domain.ru;
>
> access_log /usr/local/apache/domlogs/doman.ru combined;
> error_log /var/log/nginx/vhost-error_log warn;
>
> location / {
> root /home/user/public_html/billing;
> index index.html index.php;
> }
>
> location = /announcements {
> rewrite ^ /announcements.php last;
> }
>
> location /announcements/ {
> rewrite
> ^/announcements/([0-9]+)/[A-Za-z0-9_-]+.html$ /announcements.php?id=$1
> last;
> }
>
> location = /downloads {
> rewrite ^ /downloads.php last;
> }
>
> location /downloads/ {
> rewrite ^/downloads/([0-9]+)/([^/]*)$
> /downloads.php?action=displaycat&catid=$1 last;
> }
> location = /knowledgebase {
> rewrite ^ /knowledgebase.php last;
> }
> location /knowledgebase/ {
> rewrite
> ^/knowledgebase/([0-9]+)/[A-Za-z0-9_-]+.html$
> /knowledgebase.php?action=displayarticle&id=$1 last;
> rewrite ^/knowledgebase/([0-9]+)/([^/]*)$
> /knowledgebase.php?action=displaycat&catid=$1 last;
> }
>
> # pass the PHP scripts to FastCGI server listening on
> 127.0.0.1:9000
> #location ~ .php$ {
> # fastcgi_pass 127.0.0.1:9000;
> # fastcgi_index index.php;
> # include /usr/local/nginx/conf/fastcgi_params;
> # fastcgi_param SCRIPT_FILENAME
> /xxx/xxx/xxx/public_html/$fastcgi_script_name;
> #}
> location ~ .php$ {
> proxy_pass http://domain:8081;
> include proxy.inc;
> }
>
>
> }
Этот конфиг в будущем принесёт многия печали.
Если же многия печали хочеться избежать, я бы рекомендовал что-то вроде:
upstream domain {
server domain:8081;
}
server {
...
location = /knowledgebase {
proxy_pass http://domain/knowledgebase.php;
include proxy.inc;
}
location /knowledgebase/ {
location ^/knowledgebase/([0-9]+)/[A-Za-z0-9_-]+.html$ {
proxy_pass
http://domain/knowledgebase.php?action=displayarticle&id=$1;
include proxy.inc;
}
location ^/knowledgebase/([0-9]+)/([^/]*)$ {
proxy_pass
http://domain/knowledgebase.php?action=displaycat&catid=$1
include proxy.inc;
}
}
ну и так далее.
То есть, убираем все реврайты, убираем зависимости, локализуем обработку.
--
Igor Sysoev
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|