{"id":1150,"date":"2025-03-30T17:16:41","date_gmt":"2025-03-30T14:16:41","guid":{"rendered":"https:\/\/www.fuatozer.com\/blog\/?p=1150"},"modified":"2025-04-07T08:52:28","modified_gmt":"2025-04-07T05:52:28","slug":"rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri","status":"publish","type":"post","link":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/","title":{"rendered":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri"},"content":{"rendered":"\n<p>Bu yaz\u0131da clusterlarda TLS nas\u0131l kurulur vs anlatmayaca\u011f\u0131m. Mevcut ya\u015fad\u0131\u011f\u0131m problemin sebebini ve \u00e7\u00f6z\u00fcm\u00fc anlataca\u011f\u0131m.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Neden TLS? Neden \u015eimdi?<\/h2>\n\n\n\n<p>Biliyorsunuz ki RabbitMQ, sistemlerimizin belkemi\u011fi haline geldi. Ama \u00e7o\u011fumuz \u015fu ger\u00e7e\u011fi g\u00f6rmezden geliyoruz: cluster yap\u0131m\u0131z ne kadar g\u00fc\u00e7l\u00fc olursa olsun, g\u00fcvenli de\u011filse, asl\u0131nda camdan bir kule in\u015fa ediyoruz demektir.<\/p>\n\n\n\n<p>TLS (Transport Layer Security), RabbitMQ cluster&#8217;\u0131n\u0131z\u0131 adeta bir z\u0131rh gibi korurken, mesajlar\u0131n\u0131z\u0131n \u015fifrelenerek g\u00fcvenli bir \u015fekilde iletilmesini sa\u011flar. Bu sadece bir &#8220;g\u00fczel \u00f6zellik&#8221; de\u011fil, g\u00fcn\u00fcm\u00fcz uygulamalar\u0131 i\u00e7in bir zorunluluk.<\/p>\n\n\n\n<p>RabbitMQ Client 7.0.0 versiyonunda clusterlara TLS&#8217;siz ba\u011flan\u0131nca \u00f6nceki yaz\u0131mda yapt\u0131\u011f\u0131m t\u00fcm kodlar \u00e7al\u0131\u015f\u0131yordu. A\u015fa\u011f\u0131daki linkten bu yaz\u0131ya eri\u015febilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-blog wp-block-embed-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"Jo0gNEWF2U\"><a href=\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-7-0-0-cluster\/\">RabbitMQ (7.0.0) Cluster<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;RabbitMQ (7.0.0) Cluster&#8221; &#8212; Blog\" src=\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-7-0-0-cluster\/embed\/#?secret=oVCwSgQ5ra#?secret=Jo0gNEWF2U\" data-secret=\"Jo0gNEWF2U\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Fakat burada TLS ile ba\u011flant\u0131 yapmaya \u00e7al\u0131\u015f\u0131nca DefaultEndpointResolver hostnameleri ve sertifikalar\u0131 ekledi\u011fimde \u00e7al\u0131\u015fmad\u0131. \u015e\u00f6yle bir \u00e7\u00f6z\u00fcm buldum . List&lt;AmqpTcpEndpoint&gt; s\u0131n\u0131f\u0131ndan bir instance olu\u015fturup connectionFactoryde mevcut listeyi verdi\u011fimde sorunsuz bir \u015fekilde TLS clusterlara ba\u011flant\u0131 yapabildim. Test ortam\u0131nda tls ya da cluster gibi durumlar genelde olmuyor bu y\u00fczden mevcut kod blogunda bunun ayr\u0131m\u0131n\u0131 Ssl ile ay\u0131r\u0131yorum.<br>T\u00fcm kod blo\u011fu a\u015fa\u011f\u0131dad\u0131r.  Baya u\u011fra\u015ft\u0131rm\u0131\u015ft\u0131. Ben u\u011fra\u015ft\u0131m siz zaman kazan\u0131n istedim \ud83d\ude42 <br>Fikir al\u0131\u015fveri\u015finde bulunmaya her zaman haz\u0131r\u0131m. Herkese iyi \u00e7al\u0131\u015fmalar<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-csharp&quot;,&quot;theme&quot;:&quot;lucario&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;C#&quot;,&quot;firstLineNumber&quot;:&quot;1&quot;,&quot;language&quot;:&quot;C#&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;csharp&quot;}\">using Microsoft.Extensions.Logging;\nusing Polly;\nusing RabbitMQ.Client.Events;\nusing RabbitMQ.Client;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Security.Authentication;\nusing System.Security.Cryptography.X509Certificates;\n\nnamespace WAP.RabbitMQ.Services\n{\n    public class RabbitMqConnectionService\n    {\n        private readonly SemaphoreSlim _semaphore = new(1, 1);\n        private readonly AsyncPolicy _connectionRetryPolicy;\n\n        private IConnection? _connection;\n        private readonly IConnectionFactory _connectionFactory;\n        private readonly ILogger&lt;RabbitMqConnectionService&gt; _logger;\n        private readonly RabbitMqSetting _rabbitMqSetting;\n\n        public RabbitMqConnectionService(IConnectionFactory connectionFactory, ILogger&lt;RabbitMqConnectionService&gt; logger, RabbitMqSetting projectSetting)\n        {\n            _connectionFactory = connectionFactory;\n            _logger = logger;\n            _rabbitMqSetting = projectSetting;\n\n            _connectionRetryPolicy = Policy\n                .Handle&lt;Exception&gt;()\n                .WaitAndRetryAsync(5, retryAttempt =&gt; TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (exception, timeSpan, _, retryCount) =&gt;\n                {\n                    _logger.LogError(exception, &quot;RabbitMQ connection failed, retrying in {TimeOut}ms RetryCount: {RetryCount}&quot;, timeSpan.TotalMilliseconds, retryCount);\n                });\n        }\n\n        private bool IsConnected =&gt; _connection is { IsOpen: true };\n\n        public async Task&lt;IChannel&gt; GetChannelAsync()\n        {\n            if (!IsConnected)\n            {\n                await HandleConnectionAsync();\n            }\n\n            var channel = await _connection!.CreateChannelAsync();\n            return channel;\n        }\n\n        private async Task HandleConnectionAsync()\n        {\n            try\n            {\n                await _semaphore.WaitAsync();\n                if (IsConnected)\n                {\n                    return;\n                }\n\n                await _connectionRetryPolicy.ExecuteAsync(async () =&gt;\n                {\n                    if (_connection != null)\n                    {\n                        _connection.ConnectionShutdownAsync -= OnConnectionShutdownAsync;\n                        await _connection.CloseAsync();\n                        await _connection.DisposeAsync();\n                    }\n\n                    \/\/ CLUSTER'a ba\u011flanmak i\u00e7in birden fazla endpoint olusturuyoruz ve  SSL KULLANIYORUZ.\n                    var endpoints = _rabbitMqSetting.Hosts\n                        .Select(host =&gt; {\n                            if (_rabbitMqSetting.UseSsl)\n                            {\n                                var sslOption = new SslOption\n                                {\n                                    Enabled = true,\n                                    ServerName = _rabbitMqSetting.ServerName!,\n                                    Version = SslProtocols.Tls12\n                                };\n\n                                \/\/ Sertifika dosyas\u0131 belirtilmi\u015fse, X509Certificate2 olarak y\u00fckle\n                                if (!string.IsNullOrEmpty(_rabbitMqSetting.ClientCertPath))\n                                {\n                                    try\n                                    {\n                                        var cert = new X509Certificate2(\n                                            _rabbitMqSetting.ClientCertPath,\n                                            _rabbitMqSetting.CertPassphrase,\n                                            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable\n                                        );\n                                        \n                                        _logger.LogInformation(&quot;Sertifika y\u00fcklendi: {Subject}, Ge\u00e7erlilik: {NotBefore} - {NotAfter}&quot;, \n                                            cert.Subject, cert.NotBefore, cert.NotAfter);\n                                        \n                                        sslOption.Certs = new X509CertificateCollection(new X509Certificate[] { cert });\n                                    }\n                                    catch (Exception ex)\n                                    {\n                                        _logger.LogError(ex, &quot;Sertifika y\u00fckleme hatas\u0131, CertPath ve CertPassphrase kullan\u0131lacak&quot;);\n                                        sslOption.CertPath = _rabbitMqSetting.ClientCertPath;\n                                        sslOption.CertPassphrase = _rabbitMqSetting.CertPassphrase;\n                                    }\n                                }\n                                return new AmqpTcpEndpoint(host, _rabbitMqSetting.Port, sslOption);\n                            }\n                            else\n                            {\n                                return new AmqpTcpEndpoint(host, _rabbitMqSetting.Port);\n                            }\n                        })\n                        .ToList();\n\n                    _connection = await _connectionFactory.CreateConnectionAsync(endpoints, _rabbitMqSetting.ConnectionName);\n\n                    _connection.ConnectionShutdownAsync += OnConnectionShutdownAsync;\n                });\n            }\n            finally\n            {\n                _semaphore.Release();\n            }\n        }\n\n        private async Task OnConnectionShutdownAsync(object? sender, ShutdownEventArgs e)\n        {\n            _logger.LogError(&quot;RabbitMQ connection shutdown. Reason: {Reason}&quot;, e.ReplyText);\n            await HandleConnectionAsync();\n        }\n    }\n}\n<\/pre><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu yaz\u0131da clusterlarda TLS nas\u0131l kurulur vs anlatmayaca\u011f\u0131m. Mevcut ya\u015fad\u0131\u011f\u0131m problemin sebebini ve \u00e7\u00f6z\u00fcm\u00fc anlataca\u011f\u0131m. Neden TLS? Neden \u015eimdi? Biliyorsunuz ki RabbitMQ, sistemlerimizin belkemi\u011fi haline geldi. Ama \u00e7o\u011fumuz \u015fu ger\u00e7e\u011fi g\u00f6rmezden geliyoruz: cluster yap\u0131m\u0131z ne kadar g\u00fc\u00e7l\u00fc olursa olsun, g\u00fcvenli de\u011filse, asl\u0131nda camdan bir kule in\u015fa ediyoruz demektir. TLS (Transport Layer Security), RabbitMQ cluster&#8217;\u0131n\u0131z\u0131 adeta<\/p>\n","protected":false},"author":1,"featured_media":1085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,27],"tags":[109,56,111,110],"class_list":["post-1150","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kuyruk-yonetimi","category-rabbitmq","tag-cluster","tag-rabbitmq","tag-rabbitmq-client-7-0-0","tag-tls"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog<\/title>\n<meta name=\"description\" content=\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog\" \/>\n<meta property=\"og:description\" content=\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-30T14:16:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-07T05:52:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"702\" \/>\n\t<meta property=\"og:image:height\" content=\"389\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Faruk Fuat \u00d6zer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Faruk Fuat \u00d6zer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\"},\"author\":{\"name\":\"Faruk Fuat \u00d6zer\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5\"},\"headline\":\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri\",\"datePublished\":\"2025-03-30T14:16:41+00:00\",\"dateModified\":\"2025-04-07T05:52:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\"},\"wordCount\":270,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5\"},\"image\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg\",\"keywords\":[\"cluster\",\"rabbitmq\",\"rabbitmq client 7.0.0\",\"tls\"],\"articleSection\":[\"Kuyruk Y\u00f6netimi\",\"RabbitMQ\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\",\"url\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\",\"name\":\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg\",\"datePublished\":\"2025-03-30T14:16:41+00:00\",\"dateModified\":\"2025-04-07T05:52:28+00:00\",\"description\":\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage\",\"url\":\"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg\",\"contentUrl\":\"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg\",\"width\":702,\"height\":389},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/www.fuatozer.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#website\",\"url\":\"https:\/\/www.fuatozer.com\/blog\/\",\"name\":\"Blog\",\"description\":\"Yaz\u0131l\u0131mla alakal\u0131 her \u015fey\",\"publisher\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fuatozer.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5\",\"name\":\"Faruk Fuat \u00d6zer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4e31bcaa2c81b1fe5f740421577ccaac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4e31bcaa2c81b1fe5f740421577ccaac?s=96&d=mm&r=g\",\"caption\":\"Faruk Fuat \u00d6zer\"},\"logo\":{\"@id\":\"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fuatozer.com\/blog\",\"https:\/\/www.linkedin.com\/in\/fuatozerr\/\"],\"url\":\"https:\/\/www.fuatozer.com\/blog\/author\/fuatozerr23\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog","description":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/","og_locale":"tr_TR","og_type":"article","og_title":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog","og_description":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.","og_url":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/","og_site_name":"Blog","article_published_time":"2025-03-30T14:16:41+00:00","article_modified_time":"2025-04-07T05:52:28+00:00","og_image":[{"width":702,"height":389,"url":"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg","type":"image\/jpeg"}],"author":"Faruk Fuat \u00d6zer","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Faruk Fuat \u00d6zer","Tahmini okuma s\u00fcresi":"2 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#article","isPartOf":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/"},"author":{"name":"Faruk Fuat \u00d6zer","@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5"},"headline":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri","datePublished":"2025-03-30T14:16:41+00:00","dateModified":"2025-04-07T05:52:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/"},"wordCount":270,"commentCount":0,"publisher":{"@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5"},"image":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg","keywords":["cluster","rabbitmq","rabbitmq client 7.0.0","tls"],"articleSection":["Kuyruk Y\u00f6netimi","RabbitMQ"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/","url":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/","name":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri - Blog","isPartOf":{"@id":"https:\/\/www.fuatozer.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage"},"image":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg","datePublished":"2025-03-30T14:16:41+00:00","dateModified":"2025-04-07T05:52:28+00:00","description":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri ve di\u011fer t\u00fcm blog yaz\u0131lar\u0131m i\u00e7in Blog blog sayfam\u0131 ziyaret edebilirsiniz.","breadcrumb":{"@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#primaryimage","url":"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg","contentUrl":"https:\/\/www.fuatozer.com\/blog\/wp-content\/uploads\/2024\/12\/rabbit.jpg","width":702,"height":389},{"@type":"BreadcrumbList","@id":"https:\/\/www.fuatozer.com\/blog\/rabbitmq-tls-cluster-baglantisi-guvenli-haberlesmenin-incelikleri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/www.fuatozer.com\/blog\/"},{"@type":"ListItem","position":2,"name":"RabbitMQ TLS Cluster Ba\u011flant\u0131s\u0131: G\u00fcvenli Haberle\u015fmenin \u0130ncelikleri"}]},{"@type":"WebSite","@id":"https:\/\/www.fuatozer.com\/blog\/#website","url":"https:\/\/www.fuatozer.com\/blog\/","name":"Blog","description":"Yaz\u0131l\u0131mla alakal\u0131 her \u015fey","publisher":{"@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fuatozer.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/7551c59973f5913a0ff43db8e52662e5","name":"Faruk Fuat \u00d6zer","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4e31bcaa2c81b1fe5f740421577ccaac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4e31bcaa2c81b1fe5f740421577ccaac?s=96&d=mm&r=g","caption":"Faruk Fuat \u00d6zer"},"logo":{"@id":"https:\/\/www.fuatozer.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fuatozer.com\/blog","https:\/\/www.linkedin.com\/in\/fuatozerr\/"],"url":"https:\/\/www.fuatozer.com\/blog\/author\/fuatozerr23\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/posts\/1150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/comments?post=1150"}],"version-history":[{"count":2,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/posts\/1150\/revisions"}],"predecessor-version":[{"id":1155,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/posts\/1150\/revisions\/1155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/media\/1085"}],"wp:attachment":[{"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/media?parent=1150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/categories?post=1150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fuatozer.com\/blog\/wp-json\/wp\/v2\/tags?post=1150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}