我已经向上和向后尝试过,但没有任何成功。国家域名注册部门已决定将其整个系统更改为 EPP。他们的文档很差,但总结一下:
- 通过 TCP 连接:epptest.ficora.fi 端口 700
- 要将防火墙列入白名单,请将 IP 地址和 SSL 证书添加到仪表板上的用户帐户(完成)
仪表板一团糟。我无法将相同的证书上传给不同的用户,我无法删除用户等。无论如何,您应该连接到该地址并在请求中使用相同的 SSL 证书验证自己(至少这是我所理解的)但我无法让它工作。我所有的请求都返回:
Error 7: "Failed to connect to epptest.ficora.fi port 700: Timed out"
我根据我在 POST 请求中发送的文档创建了一个登录 XML。
ini_set('max_execution_time', 300);
set_time_limit(0);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'epptest.ficora.fi');
curl_setopt($curl, CURLOPT_PORT, 700);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($curl, CURLOPT_TIMEOUT, 400);
curl_setopt($curl, CURLOPT_SSLCERT, __DIR__ . '/certificate.crt');
$output = curl_exec($curl);
echo 'Error ' . curl_errno($curl) . ': "' . curl_error($curl) .'"';
curl_close($curl);
可以找到证书文件,我做了一个 file_get_contents() 测试并读取 OK。这是 Windows 计算机上的 localhost 测试。
在我自己的(实时)服务器上测试相同的代码,我得到:
Error 56: "Recv failure: Connection reset by peer"
我不知道这听起来是否愚蠢,但请求是否必须来自服务器,来自使用 SSL 证书的地址?
我完全不知道为什么它不起作用。帮助,有人吗?
编辑
Here's the cURL verbose information:
* About to connect() to epptest.ficora.fi port 700 (#0)
* Trying <ip_address>
* connected
* Connected to epptest.ficora.fi (<ip address>) port 700 (#0)
> POST / HTTP/1.1
Host: epptest.ficora.fi:700
Accept: */*
Content-type: text/xml
Content-length: 146
* upload completely sent off: 146 out of 146 bytes
* additional stuff not fine transfer.c:1037: 0 0
* Recv failure: Connection reset by peer
* Closing connection #0