【发布时间】: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的默认设置自动处理此问题,除非您的location或proxy_pass设置混淆了它。 -
@RichardSmith 请检查上面的配置,这是我们用于客户端代理的配置。
-
location值应该有一个尾随/以正确翻译 URI 和proxy_redirect redirect replacement;似乎是从 the manual 剪切和粘贴并且缺少任何实际值 - 它可能适用于默认值(通过完全删除该语句)。
标签: nginx hosting reverse-proxy nginx-reverse-proxy nginx-config