AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 948928
Accepted
ROODAY
ROODAY
Asked: 2019-01-14 21:52:12 +0800 CST2019-01-14 21:52:12 +0800 CST 2019-01-14 21:52:12 +0800 CST

究竟什么是“透明反向代理”?

  • 772

几年来,我一直在 DigitalOcean 液滴上将一些服务作为 docker 容器运行,最近我认为是时候将其中一个更新到最新版本了(有问题的服务是 ghost 博客平台)。以前,我的工作设置是使用caddy作为反向代理,所以我可以通过转到blog.mydomain.example. Caddyfile 设置如下所示:

blog.mydomain.example {
    proxy / 192.0.2.5:1268
}

其中 IP:port 是本地 ghost docker 容器的端口。

但是,在将我的 ghost 实例更新到最新版本并保持相同的配置后,我收到了一个奇怪的错误。导航到blog.mydomain.example会加载很长一段时间,然后突然重定向到https://192.0.2.5:2368,这当然不起作用,因为这是我的 droplet 上的本地 IP。在网上搜索了很长时间后,我终于找到了解决方法,需要像这样修改我的 Caddyfile:

blog.mydomain.example {
    proxy / 192.0.2.5:1268 {
        transparent
    }
}

代理的caddy 文档页面有一些关于透明的作用:

透明:通过原始请求中的主机信息,正如大多数后端应用程序所期望的那样。
简写:
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Proto {scheme}

我还阅读了有关代理类型的这篇文章,但我仍然对使反向代理透明意味着什么以及为什么在这种情况下需要它感到困惑。有人可以解释一下吗?

reverse-proxy
  • 1 1 个回答
  • 4711 Views

1 个回答

  • Voted
  1. Best Answer
    Tero Kilkanen
    2019-01-14T22:18:10+08:002019-01-14T22:18:10+08:00

    这意味着在将请求传递到 Docker 容器中的 Web 服务器时,Caddy 不会通过剥离 HTTP Host 标头来修改请求。

    这些可能是现在需要它的原因:

    1. 您的博客软件已更新,现在它希望Host标题与软件中设置的主机名匹配。
    2. 修改了 Caddy 的代理行为,现在它Host默认删除了标头。
    • 11

相关问题

  • 反向代理设备[关闭]

  • 清漆配置仅缓存未登录用户

  • Varnish 缓存如何处理不同的域?

  • Varnish 与其他反向代理

  • 内省 Varnish 的工具

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve