You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在基于Apache2的AWS Elastic Beanstalk(Python/Django)部署中禁用TLS重协商?

在AWS Elastic Beanstalk(Apache2+Python/Django)中禁用TLS重协商的最佳方式

要在基于Apache2的AWS Elastic Beanstalk Python/Django环境中禁用TLS重协商,最可靠的方式是通过Elastic Beanstalk的配置扩展(.ebextensions)添加Apache安全配置,具体步骤如下:

1. 创建配置扩展文件

在Django项目根目录下,创建.ebextensions文件夹(若不存在则新建),然后在该文件夹内创建配置文件,比如命名为00-disable-tls-renegotiation.config。

2. 写入Apache安全配置

将以下内容写入上述配置文件:

files:
  "/etc/httpd/conf.d/disable-tls-renegotiation.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      # 仅启用安全的TLS版本,禁用老旧协议
      SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3
      # 禁用不安全的TLS重协商(默认已禁用,显式声明强化安全)
      SSLInsecureRenegotiation Off
      # 完全禁止任何形式的TLS重协商
      SSLOptions +StrictRequire -Renegotiate

配置说明

  • Elastic Beanstalk会自动将该文件部署到EC2实例的/etc/httpd/conf.d/目录,Apache启动时会加载此目录下的所有配置文件。
  • SSLOptions -Renegotiate是核心指令,直接禁止Apache执行任何TLS重协商操作。
  • 搭配SSLProtocol指令只保留安全的TLS版本,进一步强化整体TLS安全。

3. 部署更新

将包含.ebextensions文件夹的项目代码打包,通过Elastic Beanstalk控制台、EB CLI或CI/CD工具重新部署到目标环境。部署完成后,Apache会自动重启并应用新配置。

4. 验证配置生效

可以通过以下方式确认TLS重协商已被禁用:

  • 登录EC2实例,执行httpd -t检查配置合法性,无报错则说明配置加载成功。
  • 使用openssl s_client -connect <你的域名>:443 -renegotiate命令测试,若返回重协商失败的提示,则说明配置生效。

内容的提问来源于stack exchange,提问作者Aniket Maithani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 10:20:38