通常,人们会在“主”端口上设置Nginx(或其他一般的Web服务器),然后将其配置为在不可见/未知的辅助端口上将某些请求转发到您的应用程序服务器(在本例中为Flask)到客户端浏览器。 Flask会将结果提供给Nginx,然后将结果转发给用户。
这被称为a 反向代理 ,和Nginx是 广泛考虑 这个设置的一个很好的选择。通过这种方式,所有文件都由Nginx提供给客户端,因此客户端不会注意到其中一些文件实际来自您的应用程序服务器。
从架构的角度来看,这很好,因为它将您的webapp(有些)与客户端隔离开来,并允许它保存资源,例如:通过不提供静态文件并让Nginx缓存一些webapp的结果,这是有道理的。
如果你正在进行开发,这可能看起来像很多开销;但对于生产来说,它更有意义。但是,让您的开发环境尽可能地模仿您的生产环境是一个好主意。