python - flask+nginx+gunicorn返回index.html时出错
天蓬老师
天蓬老师 2017-04-18 10:09:01
[Python讨论组]

我准备按照flask + gunicorn + nginx建立一个小的web app。在本地测试都没有问题。只不过后面用到gunicorn和nginx的时候出现了问题。

问题描述:flask里面的view.py指定redirect(url_for('main.index'))时,网页会自动跳转到http://ip-address,正常的应该是跳转到http://ip-address:1025/

view.py中的redirect代码,想登录后重定向到index.html。

@auth.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            return redirect(request.args.get('next') or url_for('main.index'))
        flash('Invalid username or password.')
    return render_template('auth/login.html', form=form)

nginx中的设置:

worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen       1025;
        server_name  127.0.0.1:8080;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            proxy_pass http://127.0.0.1:8080;   # gunicorn host address
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

gunicorn 用gunicorn -w 2 -b 127.0.0.1:8080 manage:app来启动。
不知道是不是nginx中的设置有问题?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
阿神

确实是我的配置出现问题了。nginx上的设置没有说明端口号。
proxy_set_header Host $host; 应该改为: proxy_set_header Host $host:$server_port;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号