セキュリティチームの要件により、rabbitmqにSSLを追加する必要があり、javaコードはsslキーを使用して接続します。
環境の説明:
オペレーティングシステム | ip | ホスト名 | 構成 | rabbitmqバージョン |
---|---|---|---|---|
セントス6.9 | 192.168.31.7 | mq_01 | 1コア2g | 3.8.2 |
セントス6.9 | 192.168.31.216 | mq_02 | 1コア2g | 3.8.2 |
セントス6.9 | 192.168.31.214 | mq_03 | 1コア2g | 3.8.2 |
前の記事に基づいてsslを構成する環境であり、リンクは次のとおりです。
https://www.cnblogs.com/xiao987334176/p/12304608.html
ワンクリックで証明書を生成できるgithubプロジェクトがあるという記事がインターネット上にあります。リンクは次のとおりです。
https://github.com/Berico-Technologies/CMF-AMQP-Configuration.git
しかし、生成された証明書はコードテストに失敗します。
そのため、githubで、証明書を提供するrabbitmqsslプロジェクトを見つけました。内部の証明書を使用するだけで、コードテストにも合格できます。
リンクは次のとおりです。
https://github.com/Nepitwin/RabbitSSL
Pythonスクリプトが提供されており、3つの証明書ファイルがあります
ca_certificate.pem
client_certificate.pem
client_key.pem
次に、これら3つのファイルをrabbitmqにロードします
mkdir /etc/rabbitmq/cert
このディレクトリに3つの証明書ファイルを置きます
vi /etc/rabbitmq/rabbitmq.config
完全な内容は次のとおりです。
[{ rabbit,[{ssl_listeners,[5671]},{ssl_options,[{cacertfile,"/etc/rabbitmq/cert/ca_certificate.pem"},{certfile,"/etc/rabbitmq/cert/client_certificate.pem"},{keyfile,"/etc/rabbitmq/cert/client_key.pem"},{verify,verify_peer},{fail_if_no_peer_cert,true}]}]}].
rabbitmqを再起動します
/etc/init.d/rabbitmq-server restart
任意のノードにログインし、コマンドラインを使用して表示します
# ss -tunlp|grep 5671
tcp LISTEN 0128:::5671:::* users:(("beam.smp",27893,96))
ログイン後、以下のポートとコンテキストをクリックすると、5671が表示されます。
この記事の参照リンク:
https://blog.csdn.net/tiantang_1986/article/details/83996202
https://www.cnblogs.com/wyt007/p/9086250.html
Recommended Posts