如何解决无法建立从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 举报,一经查实,本站将立刻删除。