小编Lan*_*ing的帖子

Apache 可以有条件地从自定义 http 标头执行重写吗?

我在(简单的亚马逊)负载平衡器后面有一个 apache 服务器。我想将任何不是 443 的传入流量重定向到 443。我希望它只使用一个 apache 虚拟主机。所以我试图检测 HTTP_X_FORWARDED_PORT 标头是否不是 443。

我检查了RewriteCond 文档,它只适用于有限的一组 HTTP 标头。

基本上我在做什么是这样的:

<VirtualHost *:80>
        ServerName www.example.com

        RewriteEngine On
        RewriteCond %{HTTP_X_FORWARDED_PORT} !=443
        RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

        ....
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但 RewriteCond 无法识别 HTTP_X_FORWARDED_PORT。

有没有其他方法可以做到这一点(只有一个 VirtualHost)?(某种类型的传入标头检查?)

谢谢,兰斯

mod-rewrite apache-2.2

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache-2.2 ×1

mod-rewrite ×1