2

我有一个在 Windows EC2 实例上运行的 Flask 服务器。

我需要使用https协议,所以我的设置是这样的:

  • 我有一个 Caddy 服务器
  • 我使用 Waitress 运行我的烧瓶应用程序

这是我对 Caddy 的配置:

example.com:443{
    proxy / 127.0.0.1:8080
    tls me@example.com
}

一切正常,除了在我的application.py文件中,当我这样做时:

return redirect(url_for('test', filename=filename))

我的网络浏览器重定向我:

结果相同_external=True

但是在模板页面上,例如https://example.com/test2使用render_template( "test2.html")如果我有一个链接<a href="{{ url_for('index') }}" />生成的 HTML 很好:https ://example.com/

现在我已经在 application.py 中对我的 url 进行了硬编码,但这不是我想要保留它的方式......

4

1 回答 1

4

我已将我的 Caddyfile 更新为此,现在它工作得很好!

example.com:443 {
    proxy / 127.0.0.1:8080 { 
        header_upstream Host {host} 
        header_upstream X-Real-IP {remote} 
        header_upstream X-Forwarded-For {remote} 
        websocket 
    }
        tls me@example.com
}

这个答案给了我一个提示。

这个答案帮助我构建了 Caddyfile。

于 2020-03-08T05:54:36.563 回答