Lighttpd:通过PHP请求本地URL

我有一个网站服务器,为网站提供内容,我们称之为“ domain.com ”。 在那个网站上,我有几个服务于内容的PHP脚本。 当有人浏览该网站时,一切正常。

如果我从PHP(使用Curl / Fopen)请求,在我自己的网站(我会打电话“domain.com/api/something.php?x=y”,我得到一个超时 ,该网站不能只有当我通过PHP请求这个URL,而不是通过CLI调用的时候,当我从外部浏览这个URL的时候,这是有效的。

在服务器上,我可以“curl”或“wget”,这是可行的。 我可以使用PHP来请求外部托pipe的页面(google.com等),但是我无法在同一台服务器上的lighttpdconfiguration中托pipe页面。

这对任何人都很熟悉吗? 是否有已知的参数可能会与此冲突?

弄清楚了! 默认情况下,FreeBSD上的Lighttpd是这样configuration的:

fastcgi.server = ( ".php" => ( "php-local" => ( "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", "bin-path" => "/usr/local/bin/php-cgi", "max-procs" => 1, "broken-scriptfilename" => "enable", ) ), 

关键是:

  "max-procs" => 1, 

如果你把它改为50,那就可以。 我假设它需要分叉另一个进程或其他东西,使CURL请求,不能因为默认情况下max-procs设置为1。

改变它,重新启动Lighttpd,完美的作品。 是啊!

你自己的盒子能正确parsing你使用的域名吗? 如果您正在从www.domain.com请求文件,是否可以从本身ping“www.domain.com”?是否parsing从外部连接ping“www.domain.com”时将收到的正确外部IP 。

我在想:

1)机器名称在你的/ etc / hosts中被别名为127.0.0.1,你的web服务器没有绑定到回送地址

2)关于负载平衡器,你是否使用任何可能导致路由问题,当试图路由到自己

安德鲁