【问题标题】:redirect TLS 1.0 to a page from website using apache使用 apache 将 TLS 1.0 从网站重定向到页面
【发布时间】:2018-01-12 04:43:22
【问题描述】:

我有一个网站 foo.com,我需要将所有使用 TLS 1.0 的浏览器的连接重定向到 foo.com/specific-page。我检查了Apache documentation,我可以禁用 TLS 协议,但是有什么方法可以使用 apache 配置强制重定向到特定页面? 在第一次尝试中,我尝试使用 javascript 在应用程序上使用代码进行重定向,但由于这是客户端,所以这不是 TLS 1.0 的真正阻止程序。 第二种方法是在 netscaler 上,但由于我要重定向的页面位于同一域中,因此 netscaler 无法阻止 TLS 1.0 并重定向到同一域内的子页面。

【问题讨论】:

    标签: apache ssl redirect tls1.0


    【解决方案1】:

    请参阅此要点: https://gist.github.com/SamuelChristie/13a2a29e74c189bcfd9b#apache

    Apache 的 mod_ssl 提供环境变量,可以提供与当前 SSL/TLS 连接相关的详细信息。将以下行添加到您的 conf 文件(确保您使用的是 mod_headers)将在传入请求中注入两个新标头。然后,您可以在 Perl、PHP、Python 等中使用 X-SSL-Protocol 来评估是否应显示警告。

    SSLOptions +StdEnvVars
    RequestHeader set X-SSL-Protocol %{SSL_PROTOCOL}s
    RequestHeader set X-SSL-Cipher %{SSL_CIPHER}s
    

    用于读取 TLS 版本的 PHP 示例(与 rails 一样,PHP/CGI 也会更改标头名称):

    $tlsversion = $_SERVER["HTTP_X_SSL_PROTOCOL"];
    

    使用 nginx 更简单:

    if ($ssl_protocol != "TLSv1.2") {
        return 302 https://example.com/outdated-tls.html;
    }
    

    【讨论】:

    • 我知道用 nginx 更简单。但是,我只使用 Apache。问题是 apache 本身是否有任何配置允许此功能
    猜你喜欢
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2018-10-12
    • 2011-11-01
    • 2017-11-03
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    相关资源
    最近更新 更多