我用C++编写了一个高性能的HTTP事件服务器,并且我希望使用nginx和PHP-FPM(fastcgi)完美地工作。这是我的nginx配置的一个片段。nginx不转发POST到@fallback
location ~ \.eve$ {
gzip off;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://127.0.0.1:9001;
proxy_intercept_errors on;
error_page 505 = @fallback // this is actually BACKEND.php
}
我的事件服务器返回505错误,如果有事件发生,否则它挂起,并最终返回一个“没有国家CHANGE”指令,我处理与JS或者你有什么(这基本上是彗星)。关键是我希望nginx能够捕获505错误并将该请求转发给PHP,以便PHP可以相应地处理该事件。我的服务器基本上只是一个事件中心,允许许多用户能够连接并查看是否有任何新事件。如果发生事件,PHP会处理事件分发,包括权限和其他易变的东西。
问题是,nginx没有将传递给* .eve的POST(或GET)变量传递给BACKEND.php。现在我认为这是由设计(由于error_page指令),但我认为必须有某种方式使其工作。我的服务器运行在9001上,PHP-FPM运行在9000上。任何想法?
StackOverflow中有58257个“未回答的问题”。请在这种情况下接受你自己的答案来帮助降低这个数字(因为你自己解决了这个问题)。 – 2010-01-08 02:58:55