gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:09:06 25 4
gpt4 key购买 nike

我正在用 Go 编写一个网络应用程序。目前我的布局如下所示:

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

Nginx 执行以下操作:

  • 执行一些重定向(即 www.domain.tld --> domain.tld)
  • 添加 X-Frame-Options 等 header 。
  • 处理静态图片。
  • 写入 access.log

过去我会使用 Nginx 来执行 SSL 终止和其他一些任务。由于现在由 CloudFlare 处理,它所做的一切本质上都是静态图像。鉴于 Go 有一个内置的 HTTP FileServer 并且 CloudFlare 可以为我接管处理静态图像,我开始想知道为什么 Nginx 一开始就处于领先地位。

什么都不放在前面被认为是个坏主意吗?

最佳答案

在你的情况下,你可以不运行 nginx,但我不推荐它。

但是,正如我提到的 in this answer它仍然可以做很多事情,你需要在 Go 中“重新发明”。

  • 内容安全 header
  • SSL(如果 CloudFlare 和您之间的连接终止 SSL,那么他们之间的连接是否不安全?)
  • SSL session 缓存和 HSTS
  • 客户端正文限制和 header 缓冲区
  • 重新启动 Go 应用程序时出现 5xx 错误页面和维护页面
  • “免费”日志记录(除非您想在 Go 应用中编写所有内容)
  • gzip(同样,除非你想在你的 Go 应用中实现它)

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

关于http - 我是否应该始终为 Web 应用程序使用反向代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20902338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com