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

AWS RDS PostgreSQL配置强制SSL后仍可非SSL连接,如何禁用?

解决AWS RDS PostgreSQL无法禁用非SSL连接的问题

以下是针对当前情况的排查和解决步骤:

1. 确认rds.force_ssl参数是否真正生效

连接到PostgreSQL实例后,执行以下命令查看参数状态:

SHOW rds.force_ssl;

如果返回值不是1,说明参数组未正确应用:

  • 检查实例是否确实关联了你的自定义参数组(在RDS控制台的实例配置页面查看)
  • 确认参数组的数据库版本家族与实例版本完全匹配(比如实例是PostgreSQL 14,参数组也必须是14版本家族)
  • 若上述都没问题,尝试再次重启实例,确保参数生效

2. 验证当前连接是否真的是非SSL连接

有时候客户端会自动启用SSL连接,可能你误以为是通过非SSL连接成功。执行以下命令检查当前连接的SSL状态:

SELECT ssl FROM pg_stat_activity WHERE pid = pg_backend_pid();

返回t表示当前是SSL连接,f才是非SSL连接。如果是t,说明你的强制SSL已经生效,只是客户端默认开启了SSL。

3. 为数据库用户强制添加SSL要求

即使全局参数生效,也可以为每个用户单独设置强制SSL,作为双重保障:

ALTER USER your_username REQUIRE SSL;

替换your_username为实际的数据库用户名,对所有需要连接的用户执行此操作。

4. 检查是否存在例外情况

  • 如果你使用的是RDS的超级用户(postgres),尝试对该用户也执行上述ALTER USER命令
  • 确认没有使用RDS只读副本或其他关联实例,这些实例可能未同步参数组设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:52:16