【问题标题】:Reverse Proxy Configuration - Folder redirecting to original url反向代理配置 - 文件夹重定向到原始 url
【发布时间】:2020-07-21 20:32:00
【问题描述】:

我最近为我们的客户创建了一个反向代理设置,基本上,我们是一个服务提供商,它通过我们的工具托管静态 HTML 文件。 现在客户希望他们的用户能够以一种简单的方式访问内容并从 SEO 中受益,因此我们选择了反向代理方法。

客户端看起来像https://clientdomain.com/mycontent

我们的域名是:https://staticfiles.com

当我们写 https://clientdomain.com/mycontent/foldername/ 时,我们的服务器正确地提供了来自服务器的 index.html 文件,并且客户端很高兴。

但是当我们尝试访问 https://clientdomain.com/mycontent/foldername(不带斜线) 时出现问题,我们的服务器给出 301 响应并将用户重定向到 https://staticfiles.com/foldername/(带斜线) em>

通过 Nginx 配置处理此问题的任何方式,在重定向到文件夹符号之前,它会检查传入主机,然后相应地重定向它。

对于代理传递,我们使用以下配置:

location  /mycontent {
    proxy_pass https://staticfiles.com/;
    proxy_redirect redirect replacement;
}

【问题讨论】:

  • 反向代理应使用proxy_redirect 的默认设置自动处理此问题,除非您的locationproxy_pass 设置混淆了它。
  • @RichardSmith 请检查上面的配置,这是我们用于客户端代理的配置。
  • location 值应该有一个尾随 / 以正确翻译 URI 和 proxy_redirect redirect replacement; 似乎是从 the manual 剪切和粘贴并且缺少任何实际值 - 它可能适用于默认值(通过完全删除该语句)。

标签: nginx hosting reverse-proxy nginx-reverse-proxy nginx-config


【解决方案1】:

在这段代码sn-p中,当我们尝试实际详细阅读nginx文档时,发现并不是字面意思,而是这里必须提供重定向URL

proxy_redirect redirect replacement;

所以这实际上应该是

proxy_redirect https://staticfiles.com https://clientdomain.com/mycontent

这将做的是将所有 https://staticfiles.com 实例从从实际服务器接收到的任何位置标头更改为 https://clientdomain.com/mycontent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 2021-01-16
    • 2011-01-18
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多