如何启用对Python FCGI应用的外部访问?
我有一个简单的网页应用,它会显示一个简单的 hello world
。我可以通过网页浏览器访问这个应用(地址是127.0.0.1:3000/test/hello),但是我无法通过应用运行的本地IP或者我的外部IP来访问它(我已经在路由器上正确地转发了端口)。
server.modules += ( "mod_fastcgi" )
server.document-root = "/Users/me/test"
server.port = 3000
server.bind = "127.0.0.1"
fastcgi.debug = 1
fastcgi.server = (
"test" =>
(
"python-fcgi" =>
(
"socket" => "/tmp/fastcgi.python.socket",
"bin-path" => "/Users/me/hello.py",
"check-local" => "disable",
"max-procs" => 1,
)
))
我该如何通过我的外部IP访问这个网页应用呢?
3 个回答
0
你的服务器正在监听一个叫做回环的接口。你需要把你的server.bind
这一行改成监听你电脑的IP地址,这样才能正常工作。
1
不要绑定到一个特定的IP地址,而是绑定到 0.0.0.0
。这样做的话,你不仅可以通过 127.0.0.1
访问它,还可以通过任何外部的IP地址访问。
1
把 server.bind
设置为服务器的本地网络IP,而不是使用本地地址 127.0.0.1
。同时,检查一下在你的网络中,端口3000是否没有被阻塞。
如果你绑定到本地地址,实际上你只是在使用你电脑的回环接口,这样的话,lighttpd根本就不会在网络上监听请求。
另外,如果你想让服务器接受任何方向发来的请求,可以把绑定设置为 0.0.0.0
,这样就会启用所有的网络接口。