【问题标题】:Apache reverse proxying distorts assets pathsApache 反向代理会扭曲资产路径
【发布时间】:2017-03-18 16:14:55
【问题描述】:

我正在尝试配置从 Apache Web 服务器 (A) 到另一台机器 (B) 上的另一个 Apache Web 服务器的反向代理。

我可以设法访问位于服务器 B 上的网页,就好像它在服务器 A 上一样,但是所有资产的路径(图像、CSS、JS 等)都被扭曲了。

我在服务器 A 上使用了以下配置:

ProxyPass "/app1/" "http://some.host.address:8080/app1/"
ProxyPassReverse "/app1/" "some.host.address:8080/app1/"
ProxyHTMLURLMap "http://some.host.address:8080" "/app1"

<Location /app1/>
        ProxyPassReverse /app1/
        ProxyHTMLEnable On
        ProxyHTMLURLMap / /app1/
</Location>

【问题讨论】:

  • 而“所有资产的路径都被扭曲了”究竟是什么意思?他们看起来怎么样?
  • 说“扭曲”是指浏览器无法访问它们。也许无法访问这个词更适合描述我的问题。抱歉混淆)
  • 好的,从你的描述中已经很清楚了。但问题仍然存在:链接看起来如何?
  • @arkascha 抱歉,我似乎对资产发生的事情有完全错误的想法。它们的路径没有失真,解码它们时出现问题 - ERR_CONTENT_DECODING_FAILED。为此我提出了另一个话题-stackoverflow.com/questions/40683850/…请看一下

标签: apache redirect configuration assets reverse-proxy


【解决方案1】:

您的意思是您的后端应用程序正在生成带有“some.host.address”的链接,而不是您请求的公共 url,因为您的应用程序生成的不是相对链接,而是包含主机名。

用途:

ProxyPreserveHost on

然后再试一次。这会将客户端请求的相同主机名发送到后端,然后您的后端应用程序将使用您想要的名称。

【讨论】:

  • 我的配置中有这个。无论如何,我面临的问题与资产的路径失真无关。某些资产一直存在 ERR_CONTENT_DECODEDING_FAILED 错误。请看stackoverflow.com/questions/40683850/…
猜你喜欢
  • 1970-01-01
  • 2019-06-23
  • 2023-02-03
  • 1970-01-01
  • 2017-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-23
相关资源
最近更新 更多