为什么Nginx不能POST到我的Perl后端?

时间:2008-12-17 17:21:00

标签: perl sockets cgi nginx fastcgi

编辑:所以我发现GET方法确实有效,但POST方法不起作用!这可能很重要。

所以我在Debian Etch上运行Nginx。 Nginx通常不会提供cgi / pl文件,因此我遵循了一个指南来让我的后端工作。

http://technotes.1000lines.net/?p=23

我的后端在Apache上工作正常,但我必须安装一个使用nginx(lib-www)的模块。

它现在有效,但由于某种原因,POST / GET方法不起作用....举个例子,我的后端设置为接受URL中的Product SKU,它只是将它添加到购物车时你来弄吧。现在,如果我直接用这个附加值输入这个网址,它可以正常工作,将它添加到购物车,一切都很美妙....

但是,当我将产品添加到购物车时,我的所有产品页面都会设置为提交到我的后端。它提交了我可以在我的浏览器窗口中输入的完全相同的值,除了它不起作用(与只在我的网址栏中输入它有效)相反。

现在我在想我正在使用的perl包装器代码有点不对或什么?它在这里:

http://technotes.1000lines.net/fastcgi-wrapper.pl

我只进行了一些更改...我只是创建了一个文件夹,它想要安装套接字(但也许它应该放在一个不同的文件夹中),在我的nginx conf中我基本上有它像这样:

location ~ ^/cgi-bin/.*\.pl$ {
  gzip off;
  fastcgi_pass  unix:/var/run/nginx/perl_cgi-dispatch.sock;
  fastcgi_param SCRIPT_FILENAME /www/blah.com$fastcgi_script_name;
  include fastcgi_params;
}

我的参数与文章中的相同,我只有默认的mime类型设置。关于为什么这不起作用的任何想法?我愿意提供您需要的任何额外信息。

1 个答案:

答案 0 :(得分:1)

这个特殊的fastcgi-wrapper.pl脚本由Denis S. Filimonov修改,以正确处理POSTS请求。您可以在http://www.ruby-forum.com/topic/145858

了解更多相关信息