如何将 nginx 用作 PHP-FPM 的 whois 服务器?我找不到任何方法可以做到这一点。
编辑源代码会花很长时间。因为源代码主要是为 HTTP 目的和反向代理而构建的。
所以我想要的是:
用户请求:
$ telnet whois.myexampledomain.com 43
example.com
服务器的答复:
Domain Name: example.com
Registry Domain ID: ...
Registrar WHOIS Server: whois.exampleregistrar.com
Registrar URL: https://domains.exampleregistrar.com
Updated Date: 2020-11-01T01:11:39Z
Creation Date: 2017-11-01T01:11:39Z
...
然后 nginx 需要在响应 whois 后立即关闭该连接。
因此,再次明确一点,这需要像这样工作:
Client (makes connection, and then sends the domain name) => nginx (executes a PHP file using PHP-FPM) => PHP-FPM (connects to MySQL DB) => MySQL DB (containing WHOIS info)
Client <= nginx (sends back to the client and closes connection immediately after doing so) <= PHP-FPM (sends back to nginx as plain text without any HTML stuff) <= MySQL DB containing WHOIS info (sends back the requested rows/columns)
附注:
对于 Apache,我发现了一个名为 mod_whois 的模块,但它的作用是这样的:
Client => Apache (mod_whois) => Apache (HTTP) => PHP-FPM => MySQL DB
并且两次使用 Apache 会造成不必要的过载。
由于 apache 包含很多会被浪费的模块,因此我决定使用 nginx。