Chr*_*ri3 5 website ssl amazon-web-services amazon-elb
我在 AWS 上托管一个网站,并希望禁用来自除 TLS 1.2 以外的任何密码的流量。这在 ELB 上很容易做到,但想要为那些需要更新浏览器以访问该站点的用户创建一个自定义的“登陆页面”。
我发现这篇文章如果所有 ELB 注册的实例都关闭,是否可以显示静态页面?这似乎提供了类似但不完全相同的功能。
您不能拒绝连接(由于非 TLSv1.2)并同时接受连接以显示错误消息。要么接受,要么不接受,不可能两全其美。
但是,您可以接受 TCP/SSL 级别以及Apache、Nginx或应用程序中的所有连接,检查所使用的协议,如果 TLS 版本不是TLS 1.2 ,则重定向到错误页面。
在 Apache 中,可以使用此 mod_rewrite 规则来实现:
RewriteCond %{SSL:SSL_PROTOCOL} !"TLSv1.2"
RewriteRule (.*) http://%{SERVER_NAME}/error_page.html [L,R=302]
Run Code Online (Sandbox Code Playgroud)
详细信息请参阅mod_rewrite和mod_ssl 。
遗憾的是,这不适用于 AWS ELB,因为您的服务器不会直接与客户端通信,并且 SSL 会话会在 ELB 上终止。但是,在这种情况下,您可以使用新的AWS 网络负载均衡器,将原始 TCP 流量转发到负载均衡的 EC2 实例,并且您的服务器负责与客户端协商 SSL 协议。在这种情况下,您的服务器将拥有有关所使用的 TLS 协议的所有信息,并且您可以使用上述检查。
希望有帮助:)