J'ai mon application flask fonctionnant dans lighttpd en utilisant fastcgi, et cela fonctionne bien, sauf que tous mes chemins à plusieurs niveaux (par exemple, /foo/page2
) entraînent des erreurs 404, mais le les chemins à un seul niveau fonctionnent bien (par exemple,/page1).flasque hébergé via lighttpd fastcgi renvoie 404 pour les chemins à plusieurs niveaux
127.0.0.1 localhost: 5080 - [06/Sep/2017: 16: 38: 45 +0000] "GET/page1 HTTP/1.1" 200
127.0.0.1 localhost: 5080 - [06/sept/2017: 16: 39: 07 +0000] "GET/foo/page2 HTTP/1.1" 404
Je reçois le gestionnaire d'erreur de flacon 404, et non lighttpd. de
Lors de l'exécution de l'application via flask run
, les chemins multiniveaux fonctionnent correctement.
127.0.0.1 - - [06/Sep/2017 11:44:56] "GET/page1 HTTP/1.1" 200
127.0.0.1 - - [06/Sep/2017 11:44 : 56] "GET/foo/page2 HTTP/1.1" 200
Mon lighttpd.conf
ressemble:
server.document-root = "/var/www/"
server.port = 5080
server.username = "foobar"
server.groupname = "foobar"
server.modules += (
"mod_fastcgi",
"mod_rewrite",
"mod_alias",
"mod_accesslog"
)
$HTTP["url"] !~ "^/static" {
fastcgi.server = ("/" =>
((
"socket" => "/tmp/foobar-fcgi.sock",
"bin-path" => "/home/foobar/app.fcgi",
"check-local" => "disable",
"max-procs" => 1
))
)
}
# give us debugging output
fastcgi.debug = 1
alias.url = (
"/static" => "/var/www/static"
)
Mes itinéraires ressemblent:
PAGE = Blueprint("home", __name__)
@PAGE.route("/page1", methods=["GET"])
def page1_view():
...
@PAGE.route("/foo/page2", methods=["GET"])
def page2_view():
...
Et enfin l'enregistrement d'impression bleu:
app = Flask(__name__)
app.register_blueprint(PAGE)
Je suppose que cela fonctionne lorsque vous exécutez flacon directement? –
https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToPythonWSGI – gstrauss