我是否应该始终使用反向代理来使用Web应用程序?

 rogerddd 发布于 2023-02-06 19:02

我正在Go中编写一个Web应用程序.目前我有一个如下所示的布局:

[CloudFlare] - > [Nginx] - > [程序]

Nginx执行以下操作:

执行一些重定向(即www.domain.tld- > domain.tld)

添加诸如的标题X-Frame-Options.

处理静态图像.

写道access.log.

在过去,我会使用Nginx执行SSL终止和其他一些任务.由于现在由CloudFlare处理,所以它实际上只是静态图像.鉴于Go有一个内置的HTTP FileServer,CloudFlare可以接管处理静态图像,我开始想知道为什么Nginx首先处于前面.

把任何东西都放在前面被认为是个坏主意吗?

1 个回答
  • 在你的情况下,你可能可以逃避不运行nginx,但我不推荐它.

    然而,正如我在这个答案中提到的那样,它仍然有很多可以做到的,你需要在Go中"重新发明".

    内容安全标头

    SSL(如果它们终止SSL,那么CloudFlare和你之间的连接是不安全的吗?)

    SSL会话缓存和HSTS

    客户端主体限制和标头缓冲区

    重新启动Go应用程序时,会出现5xx错误页面和维护页面

    "免费"记录(除非您想在Go应用程序中编写所有内容)

    gzip(再次,除非你想在你的Go应用程序中实现它)

    如果您正在运行内部Web服务或轻量级,或者真正不需要nginx的额外功能,那么运行Go standalone是有意义的.如果您正在构建Web应用程序,那么nginx将帮助从应用程序本身抽象出"Web服务器"任务.

    2023-02-06 19:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有