2017-09-06 1 views
0

Ich habe meine flask-Anwendung in lighttpd mit fastcgi ausgeführt, und es funktioniert gut, außer alle meine Multi-Level (zB) Pfade führen zu 404 Fehlern, aber die Einstufige Pfade funktionieren einwandfrei (z. B./page1).flash gehostet über lighttpd fastcgi gibt 404's für mehrstufige Pfade zurück

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/Sep/2017: 16: 39: 07 +0000] "GET/foo/page2 HTTP/1.1" 404

ich bekomme flash 404 fehler handler, und nicht lighttpd's.

Beim Ausführen der Anwendung über flask run funktionieren die mehrstufigen Pfade gut.

127.0.0.1 - - [06/Sep/2017 11.44.56] "GET/Seite1 HTTP/1.1" 200

127.0.0.1 - - [06/Sep/2017 11.44 : 56] "GET/foo/page2 HTTP/1.1" 200

Mein lighttpd.conf wie folgt aussieht:

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" 
) 

Meine Routen wie folgt aussehen:

Und schließlich die blaue Druckausrichtung:

app = Flask(__name__) 

app.register_blueprint(PAGE) 
+0

Ich nehme an, es funktioniert, wenn Sie Kolben direkt laufen? –

+0

https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToPythonWSGI – gstrauss

Antwort

0

Es stellte sich heraus "/" als eine fastcgi Route wird alles akzeptiert (zum Beispiel wird die Sekunden entsprechen "/" in "/ foo /").

Das Update ist die fastcgi.server Richtlinie zu ändern:

$HTTP["url"] !~ "^/static" { 
    fastcgi.server = ("" => 
     ((
      "socket" => "/tmp/foobar-fcgi.sock", 
      "bin-path" => "/home/foobar/app.fcgi", 
      "check-local" => "disable", 
      "max-procs" => 1 
     )) 
    ) 
}