烧瓶SERVER_NAME设置最佳实践

Flask SERVER_NAME setting best pratices

提问人:Christof Haerens 提问时间:4/24/2018 最后编辑:Christopher PeisertChristof Haerens 更新时间:4/15/2022 访问量:1183

问:

由于我的应用具有后台任务,因此我使用 Flask 上下文。要使上下文正常工作,应设置 Flask 设置。SERVER_NAME

设置 后,将检查传入请求是否与此值匹配,否则找不到路由。当将 nginx(或其他 Web 服务器)放在前面时,还应该包括端口,反向代理应该处理重写的东西,向外界隐藏端口号(它确实如此)。SERVER_NAMESERVER_NAME

要使会话 cookie 在现代浏览器中正常工作,代理传递的 URL 名称应与 相同,否则浏览器会拒绝发送 cookie。这可以通过在 中添加 official 并将其设置为 来解决。SERVER_NAMEhostname/etc/hosts127.0.0.1

有一件事我还没有弄清楚,那就是后台任务中的 URL。 与在发送的邮件中生成 URL 的选项一起使用。但该 URL 包含端口,它与我的 nginx 实例使用的端口不同。url_for()_external443

从 中删除端口会使第一段中描述的内容失败。SERVER_NAME

那么,我处理邮件的最佳选择是什么。创建单独的配置设置?创建我自己的?url_forurl_for

python 电子邮件 flask nginx-reverse-proxy celery-task

评论


答:

0赞 Free Code 2/7/2019 #1

如果您使用 nginx,则应使用或包含。url_for(location, _external=True)proxy_params