cURL

cURL 是一个命令行工具兼应用程序库,用于将数据传输到服务器以及从中传输数据。所有发送到 Vertica 服务器的 API 请求都必须使用 HTTPS 发出。

可以使用 cURL 传递以下四种 HTTP 请求以调用 API 方法:

  • GET:检索数据。

  • PUT:更新数据。

  • POST:创建新数据。

  • DELETE:删除数据。

语法

curl https://<NODE>:5444/

选项

下面是截断的选项列表。如需完整的列表,请参阅 cURL 文档

配置 HTTPS

HTTPS 使用 TLS 对您的连接加密。以下过程使用预定义的 server TLS 配置启用 HTTPS。要创建自定义 TLS 配置,请参阅TLS 配置

  1. 根据您的用例生成或导入以下内容:

    • 服务器模式:服务器证书私钥、服务器证书

    • 相互模式:服务器证书私钥、服务器证书、CA 证书

  2. 根据您所需的配置运行以下命令。新连接将使用 TLS。

    • 要使用服务器模式,请为 server TLS 配置设置服务器证书:

      => ALTER TLS CONFIGURATION server CERTIFICATE server_cert;
      
    • 要使用相互模式,请设置服务器和 CA 证书。此 CA 证书用于验证客户端证书:

      => ALTER TLS CONFIGURATION server CERTIFICATE server_cert ADD CA CERTIFICATES ca_cert;
      

      要使用多个 CA 证书,请用逗号分隔它们:

      => ALTER TLS CONFIGURATION server CERTIFICATE server_cert
         ADD CA CERTIFICATES intermediate_ca_cert, ca_cert;
      
  3. 启用 TLS(默认情况下禁用)。选择以下按安全性升序列出的 TLSMODE 之一。

    • DISABLE:禁用 TLS。此参数的所有其他选项都启用 TLS。

    • ENABLE:启用 TLS。Vertica 不检查客户端证书。

    • TRY_VERIFY:如果出现以下任一情况,则建立 TLS 连接:

      • 客户出示有效证书

      • 客户没有出示证书

      如果客户端提供无效证书,则连接将使用纯文本。

    • VERIFY_CA:如果 Vertica 验证客户端证书来自受信任的 CA,则连接成功。如果客户端不提供客户端证书,则连接使用纯文本。

    TLS 配置也支持 TLSMODE VERIFY_FULL,但 HTTPS 不支持此 TLSMODE,其行为类似于 VERIFY_CA

    对于服务器模式,选择 ENABLE

    => ALTER TLS CONFIGURATION server TLSMODE 'ENABLE';
    

    对于相互模式,选择 TRY_VERIFY 或更高版本:

    => ALTER TLS CONFIGURATION server TLSMODE 'VERIFY_CA';
    
  4. 验证 HttpsTLSConfig 参数是否设置为 server TLS 配置:

    => SHOW CURRENT HttpsTLSConfig;
      level  |      name       | setting
    ---------+-----------------+---------
     DEFAULT | HttpsTLSConfig  | server
    (1 row)
    

    如果没有,请设置 HttpsTLSConfig 参数:

    => ALTER DATABASE DEFAULT SET HttpsTLSConfig = 'server';