无法建立从PHP到GRPC服务器的安全连接:错误:14,无法连接到所有地址

问题描述

我正在尝试建立从PHP到GRPC服务器的安全连接在这种情况下,我将在同一台机器上执行此操作,但在生产环境中,我将需要通过服务器A上的PHP与服务器B上的GRPC服务建立连接。GRPC服务在端口16060上运行。端口16060已打开。

我将certbot的文件cert.pm/etc/letsencrypt/live/mycomain.com复制到了PHP脚本所在的文件夹中。

代码无法建立连接-

ERROR: 14,Failed to connect to all addresses

mycomain.com代替localhost也不起作用

代码

function greet($hostname,$name)
{
    $client = new Helloworld\GreeterClient($hostname,[
        //'credentials' => Grpc\ChannelCredentials::createInsecure(),'credentials' => \Grpc\ChannelCredentials::createSsl(file_get_contents('cert.pm')),]);
    $request = new Helloworld\HelloRequest();
    $request->setName($name);
    list($response,$status) = $client->SayHello($request)->wait();
    if ($status->code !== Grpc\STATUS_OK) {
        echo "ERROR: " . $status->code . "," . $status->details . PHP_EOL;
        exit(1);
    }
    echo $response->getMessage() . PHP_EOL;
}

$name = !empty($argv[1]) ? $argv[1] : 'world';
$hostname = !empty($argv[2]) ? $argv[2] : 'mydomain.com:16060';
greet($hostname,$name);

某些消息来源说要在凭据下添加以下行:

'grpc.ssl_target_name_override' => '<your value>','grpc.default_authority' => '<your value>'

如果是这样,我应该在<your_value>中输入什么值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)