JS连接RabbitMQ在上篇中就已经实现了,但是发现在生产环境中无法使用,主要问题是通过https访问网站的话web-stomp也得支持ssl的安全访问,不支持ssl的话会因为安全问题无法进行访问。现将实现步骤记录一下。
- 首先得有ssl证书,可以去阿里云或者腾讯云申请免费的证书
- 申请好后将ssl证书下载下来,处理一下,下载下来是两个文件(pem证书和key文件),但是RabbitMQ中用到的是3个文件,需要把一个pem证书拆分为两个文件:ca证书文件和签发出来的域名pem,一般pem文件下面的密钥为ca证书文件。将处理好的3个文件上传到服务器中等待配置。
- 然后进入安装RabbitMQ的机器并进入配置文件目录
cd /etc/rabbitmq/
vi rabbitmq.conf
在文件中输入web_stomp.ssl.port = 15673
web_stomp.ssl.backlog = 1024
web_stomp.ssl.cacertfile = /ssl/ca.pem
web_stomp.ssl.certfile = /ssl/xxx.com.pem
web_stomp.ssl.keyfile = /ssl/xxx.com.key
保存即可
- 然后最重要的需要重启rabbitmq-server服务,如果有防火墙,得放开15673端口
- 然后使用js连接的时候访问这个地址
wss://rabbitmq.xxx.com:15673/ws
- 以上就能使用https/web-stomp了