lilydocs
HTTP APIWebSocketConsumer
RabbitMQ2 dk okuma

Bağlantı güvenliği

AMQP/AMQPS, secret resolution ve isteğe bağlı CA/mTLS materyalini açık bir bağlantı profiliyle seçin.

Consumer bağlantısında use_tls açıkça seçilir. Alanı atlamak güvenli bir varsayılan veya plaintext fallback sağlamaz; validation hatası üretir. false AMQP, true AMQPS şemasıyla tutarlı olmalıdır.

Tek bağlantı tanımı kullanın#

Ya connection_string, ya da username, password, hostname, port, vhost alanlarını seçin. İki biçim karıştırılmaz. Aşağıdaki parça ilk uygulamanın [rabbitmq.consumer] profilinin yerine geçer; önceki individual alanları ayrıca bırakmayın. Topology tanımlarını koruyun.

TOML
[rabbitmq.consumer]
connection_string = "${secret:broker.consumer_url}"
use_tls = true
pool_size = 2
connection_timeout_secs = 10
confirm_timeout_secs = 10
heartbeat_secs = 30

[rabbitmq.consumer.tls]
additional_ca_bundle = "/etc/lily/tls/ca.pem"
client_certificate_chain = "/etc/lily/tls/client.pem"
client_private_key = "/etc/lily/tls/client-key.pem"

Bu değerleri ortamınıza uyarlayın. ${secret:broker.consumer_url} çalışan bir SecretResolver ister ve host, username, password içeren AMQPS URL çözmelidir. Secret reference kendiliğinden environment lookup yapmaz. URI query/fragment kullanılmaz; heartbeat ve timeout için typed alanlar seçilir.

CA ve karşılıklı TLS#

Additional CA bundle isteğe bağlıdır. Client certificate chain ve private key mTLS için birlikte verilmelidir; yalnız biri validation hatasıdır. TLS materyali use_tls=false iken kabul edilmez. Dosya yolları mutlak, materyal geçerli PEM olmalıdır; private key şifrelenmemiş PEM sözleşmesini izler.

Dosyaları uygulamanın okuyabildiği kontrollü bir deployment konumuna yerleştirin. Örnekteki yollar framework’ün dosya oluşturduğu anlamına gelmez. Startup sonrası dosya veya secret değişikliğinin otomatik hot reload yapacağını varsaymayın; configuration immutable startup sözleşmesini açıklar.

Bağlantı bütçeleri#

Alan Varsayılan Aralık
pool_size 5 1–32
connection_timeout_secs 10 1–120
confirm_timeout_secs 10 1–300
heartbeat_secs 30 5–600
max_reconnect_attempts 5 1–100
reconnect_backoff_millis 250 50–30000

Bu değerler Consumer bağlantı profiline aittir; delivery veya process shutdown timeout’u değildir. Daha uzun reconnect süresi, uygulamanın broker recovery boyunca hazır olduğu anlamına gelmez. Current readiness için operational snapshot kullanın.

Transport ile mesaj yetkisini ayırın#

mTLS veya broker login, vhost/destination yetkilerinin ve message-level uygulama politikasının yerini almaz. Mesajın tenant/user alanı kendiliğinden doğrulanmış principal olmaz. Gerekli imza, credential ve domain izinlerini guard ve middleware katmanında uygulayın.

Configuration diagnostics için redacted snapshot kullanın; resolved URL, parola veya private key’i loglamayın. Bağlantı hatasının stable code’unu izlemek ile credential içeren hata kaynağını yazdırmak aynı işlem değildir.

Bu sayfanın kaynakları v0.1.0

Anlatım, incelenen framework commit’ine dayanır.

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod