【问题标题】:Flask deployment server redirects add server name to addressFlask 部署服务器重定向添加服务器名称到地址
【发布时间】:2018-03-20 22:36:51
【问题描述】:

我将 Nginx 配置为运行在 127.0.0.1:8000 上的 Gunicorn 服务器的反向代理。

Nginx 配置是这样的:

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;
   }
}

到目前为止一切顺利。在我的烧瓶应用程序中,当用户进行身份验证时,有一个简单的方法可以重定向到用户的主页“ev”。 “Ev”表示家。

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

但不是 http://programlama.tk/ev 这个,而是重定向到

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

这个地址,不存在。此外,它将服务器名称添加到重定向地址。

【问题讨论】:

    标签: python redirect nginx flask gunicorn


    【解决方案1】:

    我稍微更改了 nginx 配置as described in the documentation

    现在它可以按预期工作了。

    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;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2020-07-04
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      相关资源
      最近更新 更多