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 Tue, May 03, 2011 at 10:59:48AM +0400, Igor Sysoev wrote:
> 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;
> }
> }
>
> ну и так далее.
>
> То есть, убираем все реврайты, убираем зависимости, локализуем обработку.
В данном случае можно и без описания upstream domain:
location = /knowledgebase {
proxy_pass http://domain:8081/knowledgebase.php;
include proxy.inc;
}
--
Igor Sysoev
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|