Ich habe ein Gunicorn, das mit mod_proxy eine Kolbenanwendung hinter Apache bedient.
Gunicorn ist an http://localhost:8080/
. Angenommen, mein Server ist eingeschaltethttp://example.com/
Wenn ich einen ungültigen Link auf meinen Server poste (z. B. das Nachstellen vergessen), http://example.com/with-no-trailing-slash
wird der Benutzer beispielsweise umgeleitet, http://localhost:8080/with-no-trailing-slash
was nicht gültig ist, da sich auf dem Clientcomputer kein Server befindet.
Weißt du warum es sich so verhält? Und wie kann man dieses Verhalten beheben?
Um Gunicorn zu starten, mache ich Folgendes: sudo gunicorn -b localhost:8080 app:app
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com
DocumentRoot /opt/example
<Proxy *>
AuthType basic
AuthBasicAuthoritative Off
SetEnv proxy-chain-auth On
Order allow,deny
Allow from all
</Proxy>
# Let apache serve static files
ProxyPass /robots.txt !
ProxyPass /favicon.ico !
ProxyPass /static/ !
Alias /static/ /opt/example/app/static/
# Gunicorn handle the others
ProxyPass / http://localhost:8080/
# robots.txt et favicon.ico sont dans /path/to/django/project/static/
Alias /robots.txt /path/to/django/project/static/robots.txt
Alias /favicon.ico /path/to/django/project/static/favicon.ico
Alias /favicon.ico /path/to/django/project/static/favicon.ico
<Directory /path/to/django/project>
Order deny,allow
Allow from all
Options -Indexes
</Directory>
</VirtualHost>
Wenn Sie eine andere Konfigurationsdatei benötigen, lassen Sie es mich wissen!
ProxyPass /app/ http://localhost:8080/app/
gegenProxyPasss /app http://..../app