Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/SwooleHTTP服务器-如何动态加载ssl?_Php_Ssl_Swoole - Fatal编程技术网

PHP/SwooleHTTP服务器-如何动态加载ssl?

PHP/SwooleHTTP服务器-如何动态加载ssl?,php,ssl,swoole,Php,Ssl,Swoole,我需要根据进程请求动态加载不同的ssl证书。我尝试在下面的代码中这样做,但服务器仍然在处理请求时加载cert1证书,而不是像我在代码中尝试的那样加载cert2 如何动态地重新加载不同的证书?可能吗 代码示例: 不幸的是,您无法动态更改$server配置 一个选项是在具有不同设置的多个端口上运行Swoole server: $port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP | SWOOLE_SSL); $port2 =

我需要根据进程请求动态加载不同的ssl证书。我尝试在下面的代码中这样做,但服务器仍然在处理请求时加载cert1证书,而不是像我在代码中尝试的那样加载cert2

如何动态地重新加载不同的证书?可能吗

代码示例:


不幸的是,您无法动态更改$server配置

一个选项是在具有不同设置的多个端口上运行Swoole server:

$port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$port2 = $server->listen("127.0.0.1", 9502, SWOOLE_SOCK_TCP | SWOOLE_SSL);

$port1->set([
    'open_eof_split' => true,
    'package_eof' => "\r\n",
    'ssl_cert_file' => 'ssl1.cert',
    'ssl_key_file' => 'ssl1.key',
]);

$port2->set([
    'open_eof_split' => true,
    'package_eof' => "\r\n",
    'ssl_cert_file' => 'ssl2.cert',
    'ssl_key_file' => 'ssl2.key',
]);

之后,您可以在Nginx中为不同的uri创建不同的规则来处理流量,并将其重定向到正确的Swoole端口。

您是否只需要多个证书来为不同的域名提供SSL

如果是这样,您可以在一个证书中承载多个域。这将取消转换证书的要求