首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用反向代理的URL重定向?

如何使用反向代理的URL重定向?
EN

Webmasters Stack Exchange用户
提问于 2017-12-08 12:29:39
回答 1查看 10.3K关注 0票数 1

我的要求是重定向URL,它使用反向代理在端口80上运行。我想我必须使用URL重定向,反向代理在一起。

现在已经有了一个活跃的web域,比如:https://abcd.cdsw.intranet.example.com,但是我们希望使用反向代理来隐藏来自URL的转换,但是这个URL运行在端口80中。

因此,我无法在7中启动httpd服务器来引入反向代理。有人能帮我吗?

预期:

实际网址:https://abcd.cdsw.intranet.example.com/login

预期网址:httphttps://example.com/cdsw

EN

回答 1

Webmasters Stack Exchange用户

发布于 2017-12-08 20:29:15

在Apache下,使用ProxyPassReverse反向指令可以做您想做的事情。它将从后端服务器获取重定向,并将后端主机名替换为前端名称。从文件中:

这个指令允许Apache在HTTP重定向响应上调整LocationContent-LocationURI头中的URL。当Apache httpd被用作反向代理(或网关)以避免绕过反向代理时,这是非常重要的,因为HTTP重定向在后端服务器上,而后端服务器保持在反向代理的后面。

他们还举了一个例子,说明它通常如何与调整cookie路径一起使用:

代码语言:javascript
复制
ProxyPass         "/mirror/foo/" "http://backend.example.com/"
ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
ProxyPassReverseCookieDomain  "backend.example.com"  "public.example.com"
ProxyPassReverseCookiePath  "/"  "/mirror/foo/"

您可能会发现,HTML文档中也有来自后端服务器的绝对链接。如果是这样的话,您可以使用国防部_代理_html模块来替换它们。

听起来,在这种情况下,您没有自己开发后端you应用程序,而且它可能没有在代理服务器后面运行的设置。但是,如果您可以修改后端end应用程序上的代码,则可以修改它以编写其链接并使用前端主机名重定向。

前端代理服务器使用X-Forwarded-For头将主机名传递给后端。您可以将服务器更改为使用来自此标头的值,而不是ServerName,以便它在代理后面无缝工作。

票数 4
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/111297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档