diff --git a/CHANGELOG.md b/CHANGELOG.md index 40977d18d..bc34660cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this ## [Unreleased] ### Added * [#1798](https://github.com/shlinkio/shlink/issues/1798) Experimental support to send visits to an external Matomo instance. - * [#1780](https://github.com/shlinkio/shlink/issues/1780) Add new `NO_ORPHAN_VISITS` API key role. Keys with this role will always get `0` when fetching orphan visits. @@ -20,6 +19,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this * [#1905](https://github.com/shlinkio/shlink/issues/1905) Add support for PHP 8.3. * [#1927](https://github.com/shlinkio/shlink/issues/1927) Allow redis credentials be URL-decoded before passing them to connection. +* [#1834](https://github.com/shlinkio/shlink/issues/1834) Add support for redis encrypted connections using SSL/TLS. + + Encryption should work out of the box if servers schema is set tp `tls` or `rediss`, including support for self-signed certificates. + +* [#1906](https://github.com/shlinkio/shlink/issues/1906) Add support for RabbitMQ encrypted connections using SSL/TLS. + + In order to enable SLL, you need to pass `RABBITMQ_USE_SSL=true` or the corresponding config option. + + Connections using self-signed certificates should work out of the box. ### Changed * [#1799](https://github.com/shlinkio/shlink/issues/1799) RoadRunner/openswoole jobs are not run anymore for tasks that are actually disabled. diff --git a/composer.json b/composer.json index 99641f50a..27f8b9ede 100644 --- a/composer.json +++ b/composer.json @@ -46,11 +46,11 @@ "php-middleware/request-id": "^4.1", "pugx/shortid-php": "^1.1", "ramsey/uuid": "^4.7", - "shlinkio/shlink-common": "dev-main#e24ea7b as 5.7", + "shlinkio/shlink-common": "dev-main#a9b5d21 as 5.7", "shlinkio/shlink-config": "dev-main#cde5d3b as 2.5", "shlinkio/shlink-event-dispatcher": "dev-main#35ccc0b as 3.1", "shlinkio/shlink-importer": "dev-main#d621b20 as 5.2", - "shlinkio/shlink-installer": "dev-develop#f31c242 as 8.6", + "shlinkio/shlink-installer": "dev-develop#18829f7 as 8.6", "shlinkio/shlink-ip-geolocation": "dev-main#4a1cef8 as 3.3", "shlinkio/shlink-json": "dev-main#e5a111c as 1.1", "spiral/roadrunner": "^2023.2", diff --git a/config/autoload/installer.global.php b/config/autoload/installer.global.php index 4b31c46f8..32f71ea67 100644 --- a/config/autoload/installer.global.php +++ b/config/autoload/installer.global.php @@ -64,6 +64,7 @@ Option\QrCode\DefaultRoundBlockSizeConfigOption::class, Option\RabbitMq\RabbitMqEnabledConfigOption::class, Option\RabbitMq\RabbitMqHostConfigOption::class, + Option\RabbitMq\RabbitMqUseSslConfigOption::class, Option\RabbitMq\RabbitMqPortConfigOption::class, Option\RabbitMq\RabbitMqUserConfigOption::class, Option\RabbitMq\RabbitMqPasswordConfigOption::class, diff --git a/config/autoload/rabbit.global.php b/config/autoload/rabbit.global.php index ea0038093..bf9591e56 100644 --- a/config/autoload/rabbit.global.php +++ b/config/autoload/rabbit.global.php @@ -9,6 +9,7 @@ 'rabbitmq' => [ 'enabled' => (bool) EnvVars::RABBITMQ_ENABLED->loadFromEnv(false), 'host' => EnvVars::RABBITMQ_HOST->loadFromEnv(), + 'use_ssl' => (bool) EnvVars::RABBITMQ_USE_SSL->loadFromEnv(false), 'port' => (int) EnvVars::RABBITMQ_PORT->loadFromEnv('5672'), 'user' => EnvVars::RABBITMQ_USER->loadFromEnv(), 'password' => EnvVars::RABBITMQ_PASSWORD->loadFromEnv(), diff --git a/module/Core/src/Config/EnvVars.php b/module/Core/src/Config/EnvVars.php index d6877eb91..790bfe3ac 100644 --- a/module/Core/src/Config/EnvVars.php +++ b/module/Core/src/Config/EnvVars.php @@ -31,6 +31,7 @@ enum EnvVars: string case RABBITMQ_USER = 'RABBITMQ_USER'; case RABBITMQ_PASSWORD = 'RABBITMQ_PASSWORD'; case RABBITMQ_VHOST = 'RABBITMQ_VHOST'; + case RABBITMQ_USE_SSL = 'RABBITMQ_USE_SSL'; /** @deprecated */ case RABBITMQ_LEGACY_VISITS_PUBLISHING = 'RABBITMQ_LEGACY_VISITS_PUBLISHING'; case MATOMO_ENABLED = 'MATOMO_ENABLED';