Closed reynholm closed 5 years ago
Привет, сделаем. завтра будет.
Добавил подержу https
return [
'class' => kak\clickhouse\Connection::class,
'dsn' => 'https://db.local',
'database' => 'default',
'port' => '8123',
'username' => 'web',
'password' => 'password',
'enableSchemaCache' => true,
'schemaCache' => 'cache',
'schemaCacheDuration' => 86400
];
Добавил подключения в виде dsn строки подключение через, этот способ работает — если в строке есть собачка.
Проверил, работает. Спасибо!
@sanchezzzhak How to set up the connection to the server with self signed cert?
Currently I'm getting an exception like Query error: Curl error: #60 - SSL: no alternative certificate subject name matches target host name '10.93.79.54'
@zentavr hi set two params for requestConfig
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
example
'clickhouse => [
'class' => 'kak\clickhouse\Connection',
'dsn' => 'localhost',
'port' => '8123',
'username' => 'web',
'password' => '',
'database' => 'my-db',
'requestConfig' = [
'class' => 'kak\clickhouse\httpclient\Request',
'options' => [
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
],
],
],
more params https://github.com/yiisoft/yii2-httpclient/blob/master/docs/guide/usage-request-options.md
@sanchezzzhak should it be 'requestConfig' = [
or 'requestConfig' => [
, like =
vs. =>
?
I have this right now and it does not work:
'clickhouse_pmm' => [
'class' => kak\clickhouse\Connection::class,
'dsn' => $_ENV['CH_PMM_HOST'],
'port' => $_ENV['CH_PMM_PORT'],
'database' => $_ENV['CH_PMM_NAME'], // use other database name
'username' => $_ENV['CH_PMM_USERNAME'],
'password' => $_ENV['CH_PMM_PASSWORD'],
'enableSchemaCache' => true,
'schemaCache' => 'cache',
'schemaCacheDuration' => 86400,
// Ref.: https://github.com/sanchezzzhak/kak-clickhouse/issues/45#issuecomment-507998623
'requestConfig' => [
'class' => 'kak\clickhouse\httpclient\Request',
'options' => [
'sslVerifyPeer' => false,
CURLOPT_CONNECTTIMEOUT => 15,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
],
],
'enableLogging' => false,
'enableProfiling' => false,
],
try it like this:
'clickhouse_pmm' => [
'class' => 'kak\clickhouse\Connection',
'dsn' => sprintf(
'https://%s:%s@%s:%d',
$_ENV['CH_PMM_USERNAME'],
$_ENV['CH_PMM_PASSWORD'],
$_ENV['CH_PMM_HOST'],
$_ENV['CH_PMM_PORT'] // 8443 ?
),
'database' => $_ENV['CH_PMM_NAME'],
'enableSchemaCache' => true,
'schemaCache' => 'cache',
'schemaCacheDuration' => 86400,
'requestConfig' => [
'class' => 'kak\clickhouse\httpclient\Request',
'options' => [
CURLOPT_SSL_VERIFYHOST => 0, // or false
CURLOPT_SSL_VERIFYPEER => 0, // or false
]
],
'enableLogging' => false,
'enableProfiling' => false,
]
@sanchezzzhak thank you for the assistance very much. The example works.
Приветствую,
в Connection::open() некорректно собирается url для подключения. Независимо от требуемого типа подключения (http или https) добавляется http://
Логичным выглядит отказаться от параметров user, password и port, а вместо них использовать dsn по-полной: