apache - Apache 内置重定向始终是完全合格的
问题描述
我们的 apache 2.4 服务器http://intdomain:8080
位于反向代理之后http://extdomain
。
当用户请求不完整的路径(如http://extdomain/foo
(无尾随/
))时,apache 服务器会以重定向(带有尾随/
)响应,但它使用绝对内部URI,因此位置标头是错误/不可用的:
Location: http://intdomain:8080/foo/
显然,用户无法访问它(理想情况下,反向代理应该重写它,但它不会)。
为什么 Apache 认为它必须使用绝对 URLLocation: /foo/
才行?
由于某种原因,以下编辑标题技巧在这里不起作用:
ServerTokens Prod
UseCanonicalName Off
ServerName extdomain
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
Header edit Location "^http://intdomain:8080/" "/"
Header edit Location "^http://intdomain/" "/"
</VirtualHost>
这个技巧似乎“有时”有效——只是在这种情况下不行。
解决方案
推荐阅读
- geometry - 如何用mathematica在圆的周长上生成6个点?
- amazon-web-services - 从 lambda 读取弹性疼痛 - 无法连接
- flutter - 颤振飞镖错误飞镖(argument_type_not_assignable)
- c# - C# for Linux [Centos8] 可以调用其他语言吗
- minikube - 无法访问在 AWS 上运行的 Minikube 上的 NodePort 服务
- javascript - 错误:文本字符串必须在
字符串不为空时 React Native 中的组件 - c# - 为什么使用 String.Format() 设置标签的文本使用某些 Int32 变量比使用其他 Int32 变量快 20 倍?
- qt - QQmlListProperty
(注意'const'):它是否可行? - scala - 重新分配给 val 导致分配参考(Spark Scala)
- python - Discord Python Bot 不发送 DMS