Email Flask服务器名称设置最佳实践

Email Flask服务器名称设置最佳实践,email,flask,celery-task,nginx-reverse-proxy,Email,Flask,Celery Task,Nginx Reverse Proxy,Flask具有设置SERVER\u NAME,这在大多数情况下都很方便。因为我的应用程序有后台任务,所以我使用Flask上下文。要使上下文正常工作,应设置服务器名称 当设置了服务器\u NAME时,将检查传入请求是否与此值匹配,或者未找到路由。当将nginx(或其他web服务器)放在前面时,服务器名称还应包括端口,反向代理应处理重写内容,对外界隐藏端口号(确实如此)。对于要在现代浏览器中工作的会话cookie,代理传递url名称应与服务器名称相同,否则浏览器拒绝发送cookie。这可以通过在/e

Flask具有设置
SERVER\u NAME
,这在大多数情况下都很方便。因为我的应用程序有后台任务,所以我使用Flask上下文。要使上下文正常工作,应设置
服务器名称

当设置了
服务器\u NAME
时,将检查传入请求是否与此值匹配,或者未找到路由。当将nginx(或其他web服务器)放在前面时,
服务器名称
还应包括端口,反向代理应处理重写内容,对外界隐藏端口号(确实如此)。对于要在现代浏览器中工作的会话cookie,代理传递url名称应与
服务器名称
相同,否则浏览器拒绝发送cookie。这可以通过在
/etc/hosts
中添加官方
主机名
并将其指向
127.0.0.1
来解决

有一件事我还没有弄清楚,那就是后台任务中的url。url_for与_external选项一起用于在它发送的邮件中生成url。但该url包括端口,这当然不同于我的nginx运行的
443
端口

服务器\u NAME
中删除端口会使第一段中描述的内容失败

那么,对于处理邮件中的
url\u,我的最佳选择是什么呢?创建一个单独的配置设置?为
创建我自己的
url\u?

您应该将url\u放在(位置,\u external=True) 或者,如果使用nginx,则放置include proxy_参数