阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

Nginx+Flask配置upstream时需要在localtion中设置Host2014-12-01 13:39

环境是这样的:

Flask+Gunicorn+Nginx搭建的网站,有个邮件验证功能,发送出去一个链接,这个链接是通过

link = url_for('.verify', payload=payload, _external=True)

生成的,

nginx最开始配置如下:

upstream fy_com {
    server 0.0.0.0:1248;

    keepalive 600;
}

server {
    listen 80;
    server_name fuckyou.com;

    access_log /var/log/nginx/fy.access.log;
    error_log /var/log/nginx/fy.error.log;

    location /static/ {
        alias /srv/fy/static/;
    }

    location / {
        root /srv/fy;
        proxy_pass http://fy_com;
    }

}

这样生成的链接是upstream的名字:http://fy_com/verify/payload而不是http://fuckyou.com/verify/payload

需要在location中设置Host才能生成正确的domain link:

proxy_set_header  Host  $host;

如果您觉得从我的分享中得到了帮助,并且希望我的博客持续发展下去,请点击支付宝捐赠,谢谢!

若非特别声明,文章均为阿小信的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除。

#Python#   #flask #nginx
分享到:
阅读[1353] 评论[0]

下一篇:[转]inode

你可能也感兴趣的文章推荐

本文最近访客

发表评论