ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.