geraldvillorente/terminus-si-plugin

SI 测试 - 用于测试 Pantheon Secure Integration 功能的 Terminus 插件。

安装: 5

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 5

类型:terminus-plugin

dev-master 2023-03-15 04:10 UTC

This package is auto-updated.

Last update: 2024-09-15 07:30:47 UTC


README

Unsupported

一个 Terminus 插件,允许测试 Pantheon Secure Integration (SI) 配置。

为 Terminus 添加以下命令

  • si:constants:list(别名:silist)- 输出为站点配置的所有 SI 常量列表,包括 SI 解析到的 IP 和端口。
  • si:showcerts(别名:sicerts)- 执行 OpenSSL 握手以检查远程服务器证书(可作为任何类型 SI 测试的代理)。
  • si:test:curl(别名:sitcurl)- 执行测试以确定 cURL 功能是否按预期工作。
  • si:test:ldap(别名:sildap)- 执行测试以确定 LDAP 功能是否按预期工作。
  • si:test:smtp(别名:sismtp)- 执行测试以确定 SMTP 功能是否按预期工作。
  • si:test:ssh(别名:sissh)- 执行测试以确定 SSH 功能是否按预期工作。

详细信息

此插件做什么? 此插件是为了提供一些常见 SI 设置的基本功能检查而编写的,验证请求是否发送到 localhost:<SI 端口> 并转发到客户端的远程服务。如果客户端的服务配置正确且能够响应,则会显示响应。如果客户端报告他们的 SI 工作不正确,此插件提供了一种排查 SI 设置本身是否存在问题或模块配置是否正确的方法(例如,如果客户端报告他们无法通过 stunnel 发送邮件,而 si:test:smtp 命令指示成功,则问题可能在于模块配置,而不是 SI 设置)。

此插件不做什么? 此插件不会指示模块或插件是否配置正确,也不能保证客户端的服务器设置正确。

为什么此插件可能说 SI 没有正确配置?

以下是一些此插件可能报告 SI 测试失败的原因

  • 客户端的服务器尚未配置为允许 Pantheon 的 F5 负载均衡器 IP。
  • 在客户端服务器上运行的服务尚未设置或由于某种原因没有响应。
  • SI 尚未激活。
  • SI 指向错误的 IP 和端口,这可能是由于客户端发送了错误的信息或工程师错误地设置了 SI。

此插件不尝试诊断连接失败的原因;它只报告是否失败。

用法

si:constants:list

示例命令:terminus si:constants:list my-site.dev

此命令仅检查给定环境中配置了哪些 SI 常量。输出将指示要使用的 PHP 常量名称,以及客户在设置 SI 时请求的目标 IP 和端口。注意:列出的端口是目标端口,不是源端口。

si:showcerts

示例命令:terminus si:showcerts my-site.dev --constant-name=PANTHEON_SOIP_CONSTANT_NAME

选项

该命令在远程服务器上运行OpenSSL命令,执行SSL握手并从远程服务器返回证书。此命令可以用作检查应用服务器是否与远程服务进行通信的基本检查。即使SI设置正确,该命令也可能失败,这取决于客户端服务器的配置,但它是一个很好的第一步,以确定SI是否正常运行。输出将是openssl命令的完整输出。

si:test:curl

示例命令:terminus si:test:curl my-site.dev --constant-name=PANTHEON_SOIP_CONSTANT_NAME --url=http://www.example.com/test.json

选项

此命令使用cURL评估应用服务器与客户端远程服务之间的基本cURL通信是否正常。请注意,此测试适用于各种协议,而不仅仅是HTTP。由于PHP使用cURL作为服务如SOAP的后端,以及许多Drupal和WordPress模块/插件使用cURL用于服务如Apache Solr,因此此插件可以测试从远程Web服务器检索数据的各种场景。此命令的输出将指示成功或失败。要获取额外的调试信息(包括从--url检索的内容和测试的持续时间),请使用Terminus的-vv标志。

si:test:ldap

示例命令:terminus si:test:ldap mysite.dev --constant-name=PANTHEON_SOIP_CONSTANT_NAME --use-tls=true --bind-dn="cn=admin,dc=example,dc=org" --bind-password

选项

此命令使用PHP的内置LDAP函数与客户端的LDAP服务器通信并执行基本绑定。此命令的输出将指示成功或失败。要获取额外的调试信息(包括测试参数和结果的状态消息以及测试的持续时间),请使用Terminus的-vv标志。

si:test:smtp

示例命令:terminus si:test:smtp my-site.dev --constant-name=PANTHEON_SOIP_CONSTANT_NAME --relay-address=client.smtp.server.com

选项

此命令使用Web套接字连接到客户端的SMTP服务器并发出HELO命令以确定是否与客户端的SMTP服务器通信。此命令的输出将指示成功或失败。要获取额外的调试信息(包括HELO命令的输出和测试的持续时间),请使用Terminus的-vv标志。

si:test:ssh

示例命令:`terminus SI:test:ssh my-site.dev --constant-name=PANTHEON_SOIP_CONSTANT_NAME`

选项

此命令使用Web套接字连接到远程服务器并检查它是否是SSH服务器。(目前机制是连接时在服务器响应的前2048个字节中查找ssh,因为OpenSSH服务器在成功连接后会标识自己为这样的服务器。欢迎其他情况的PR。)此命令的输出将指示成功或失败。要获取额外的调试信息(包括由标题信息组成的状态消息),请使用Terminus的-vv标志。

安装

有关安装帮助,请参阅管理插件

mkdir -p ~/.terminus/plugins
composer create-project -d ~/.terminus/plugins geraldvillorente/terminus-si-plugin:dev-master

针对Terminus 3

terminus self:plugin:install geraldvillorente/terminus-si-plugin

帮助

运行terminus list si以获取可用命令的完整列表。使用terminus help <command>获取任何单个命令的帮助。