

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 SSL 安全地连接到 Lightsail PostgreSQL 数据库
<a name="amazon-lightsail-connecting-to-postgres-database-using-ssl"></a>

Amazon Lightsail 会创建 SSL 证书，并在配置后将其安装到你的 PostgreSQL (Postgres) 托管数据库上。证书由证书颁发机构 (CA) 签名，并且包括数据库终端节点作为 SSL 证书的公用名 (CN)，以防止欺骗攻击。

Lightsail 创建的 SSL 证书是可信的根实体，在大多数情况下应该可以使用，但如果您的应用程序不接受证书链，则可能会失败。如果您的应用程序不接受证书链，则您可能需要使用中间证书才能连接到您的 AWS 区域。

有关托管数据库的 CA 证书、受支持的 AWS 区域以及如何能够为应用程序下载中间证书的详细信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 先决条件
<a name="connecting-to-postgres-ssl-prerequisites"></a>
+ 将 PostgreSQL 服务器安装到用于连接数据库的计算机上。有关详细信息，请参阅 Postgres 网站中的 [PostgreSQL 下载](https://www.postgresql.org/download/)
+ 为您的数据库下载相应的证书。有关信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 使用 SSL 连接到您的 Postgres 数据库
<a name="connect-to-your-postgres-database-using-ssl"></a>

要使用 SSL 连接到 Postgres 数据库，请完成以下步骤。

1. 打开终端或命令提示符窗口。

1. 输入以下命令以连接到 PostgreSQL 数据库。

   ```
   psql -h {{DatabaseEndpoint}} -p 5432 "dbname={{DatabaseName}} user={{UserName}} sslrootcert={{/path/to/certificate/rds-combined-ca-bundle.pem}} sslmode=verify-full"
   ```

   在该命令中，将：
   + {{DatabaseEndpoint}}使用数据库的终端节点。
   + {{DatabaseName}}使用您要连接的数据库的名称。
   + {{UserName}}使用数据库的用户名。
   + {{/path/to/certificate/rds-combined-ca-bundle.pem}}使用您下载和保存数据库证书的本地路径。

   **示例**：

   ```
   psql -h {{ls-8e81e07f8b821917b11e1c6a0e26cb73c203.czowadgeezqi.us-west-2.rds.amazonaws.com}} -p 5432 "dbname={{dbmaster}} user={{dbmasteruser}} sslrootcert={{/home/ec2-user/rds-combined-ca-bundle.pem}} sslmode=verify-full"
   ```

1. 出现提示时，键入您在上一个命令中指定的数据库用户的密码，然后按 **Enter**。

   您应看到类似于以下示例的结果。如果您看到“SSL 连接”值，则表示您的连接已加密。  
![Postgres 数据库连接状态。](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-postgres-ssl-connection.png)