Se ho un server in esecuzione fcgi e visitare con un browser, cosa dovrebbe accadere?
Domanda
Ho la seguente messa a punto - e non ottengo alcuna risposta quando visito il server in un browser
.devo aspettarmi un po '? Ecco la configurazione di prova, utilizzando Python e 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
Se commento fuori il server roba OS e riavviare:
lynx http://127.0.0.1:8000
HTTP request sent; waiting for response.
e nulla mai ritorna.
Soluzione
Il server fcgi non parla HTTP. Avete bisogno di un proxy HTTP che può parlare fcgi. È possibile eseguire qualcosa di simile nginx che fa parlare HTTP e può passare attraverso fcgi.
Altri suggerimenti
È possibile connettersi con telnet al server fcgi, ma (almeno su Windows) non si vedrà nulla, perché il server si aspetta di inviare alcuni messaggi binari prima. Così, dopo un paio di caratteri è entrato del server cade il collegamento. Nel caso in cui telnet non si connette a tutti, questo può significare sia il firewall o l'indirizzo:. Problema di legame porta (che è o si è connette a un indirizzo sbagliato che il vostro server è binded a)