2010-10-28 75 views
0

我有以下设置 - 并且在浏览器中访问服务器时不会收到任何响应。如果我有一个运行fcgi的服务器并用浏览器访问它,会发生什么情况?

我应该期待一些吗?这里是测试设置,使用python & flup。

#test.py

def myapp(environ, start_response): 
    start_response('200 OK', [('Content-Type', 'text/plain')]) 
    return ['abc\n'] 

import os 
os.environ['FCGI_WEB_SERVER_ADDRS']="127.0.0.1:8000" 
from flup.server.fcgi import WSGIServer 
WSGIServer(myapp, bindAddress=('127.0.0.1',8000)).run() 

python test.py 

lynx http://127.0.0.1:8000 

unexpected network read error; connection aborted 

如果我注释掉OS的东西,并重新启动服务器:

lynx http://127.0.0.1:8000 

HTTP request sent; waiting for response. 

和从来都没有返回。

回答

2

您的FCGI服务器不会说HTTP。您需要一个可以说FCGI的HTTP代理。你可以运行像nginx这样的可以说HTTP并可以通过FCGI的东西。

http://wiki.nginx.org/NginxFcgiExample

+0

谢谢。让我感觉到的事情是,即使你远程登录到它,它也不会返回任何东西。 – fastmultiplication 2010-10-31 07:02:28

0

您可以通过telnet连接到FCGI服务器,但(至少在Windows上)你不会看到任何东西,因为服务器期望你先发送一些二进制消息。 因此,在输入几个字符后,服务器将断开连接。 如果telnet完全没有连接,这可能意味着防火墙或地址:端口绑定问题(即您要连接的地址比服务器绑定的地址错误)。

相关问题