如果我有一个运行fcgi的服务器并用浏览器访问它,会发生什么情况?
问题描述:
我有以下设置 - 并且在浏览器中访问服务器时不会收到任何响应。如果我有一个运行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.
和从来都没有返回。
答
您的FCGI服务器不会说HTTP。您需要一个可以说FCGI的HTTP代理。你可以运行像nginx这样的可以说HTTP并可以通过FCGI的东西。
答
您可以通过telnet连接到FCGI服务器,但(至少在Windows上)你不会看到任何东西,因为服务器期望你先发送一些二进制消息。 因此,在输入几个字符后,服务器将断开连接。 如果telnet完全没有连接,这可能意味着防火墙或地址:端口绑定问题(即您要连接的地址比服务器绑定的地址错误)。
谢谢。让我感觉到的事情是,即使你远程登录到它,它也不会返回任何东西。 – fastmultiplication 2010-10-31 07:02:28