2017-10-09 15 views
0

J'ai configuré Nginx en tant que proxy inverse pour un serveur Gunicorn fonctionnant sur 127.0.0.1:8000.Les redirections du serveur de déploiement de Flask ajoutent le nom du serveur à l'adresse

configuration Nginx est comme ceci:

server { 
     server_name www.programlama.tk; 
     rewrite^http://programlama.tk/ permanent; 
} 

server { 
listen 80; # listen onport 80 
server_name programlama.tk localhost; #requests to this domain or ip 

location/{ 
    include proxy_params; 
    proxy_pass http://127.0.0.1:8000; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

Jusqu'à présent, si bon. Dans mon application flacon lorsque l'utilisateur s'authentifie, il existe une méthode simple qui redirige vers la page d'accueil de l'utilisateur qui est 'ev'. «Ev» signifie la maison.

@app.route('/ev') 
def ev(): 
    return render_template('ev.html') 

Mais au lieu de http://programlama.tk/ev ce qu'il redirige vers

http://programlama.tk%2Cprogramlama.tk/ev

cette adresse qui n'existe pas. En outre, il ajoute le nom du serveur à l'adresse de redirection.

Répondre

0

J'ai changé la configuration de nginx un bit as described in the documentation.

Maintenant, cela fonctionne comme prévu.

location/{ 
    proxy_pass   http://127.0.0.1:8000/; 
    proxy_redirect  off; 

    proxy_set_header Host     $host; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
}