{"id":221,"date":"2026-01-23T07:29:30","date_gmt":"2026-01-23T07:29:30","guid":{"rendered":"https:\/\/blog.gpst.net.cn:4008\/?p=221"},"modified":"2026-01-28T06:24:14","modified_gmt":"2026-01-28T06:24:14","slug":"mqtt-%e9%85%8d%e7%bd%aetls","status":"publish","type":"post","link":"https:\/\/opshub.com.cn\/?p=221","title":{"rendered":"mqtt \u914d\u7f6etls"},"content":{"rendered":"\n<p>1\u3001docker\u5bb9\u5668\u542f\u52a8emqx<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name=emqx \\\n        --hostname=1f5f7148afca \\\n        --user=emqx \\\n        --mac-address=02:42:ac:11:00:08 \\\n        --volume=\/mnt\/yruasa\/emqx\/etc:\/opt\/emqx\/etc \\\n        --volume=\/mnt\/yruasa\/emqx\/data:\/opt\/emqx\/data \\\n        --volume=\/mnt\/yruasa\/emqx\/log:\/opt\/emqx\/log \\\n        --workdir=\/opt\/emqx \\\n        --expose=11883 \\\n        -p 18083:18083 \\\n        -p 1883:1883 \\\n        --expose=4370 \\\n        --expose=5369 \\\n        -p 8083:8083 \\\n        -p 8084:8084 \\\n        -p 8883:8883 \\\n        --restart=always \\\n        --runtime=runc \\\n        --detach=true \\\n        emqx\/emqx:5.2.1 \\\n        \/opt\/emqx\/bin\/emqx foreground<\/code><\/pre>\n\n\n\n<p>2\u3001emqx\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>node {\n  name = \"emqx@127.0.0.1\"\n  cookie = \"emqxsecretcookie\"\n  data_dir = \"data\"\n}\n\n\n\n\ncluster {\n  name = emqxcl\n  discovery_strategy = manual\n}\n\n\n\n\ndashboard {\n    listeners.http {\n        bind = 18083\n    }\n}\n\u4ee5\u4e0a\u662f\u9ed8\u8ba4\u914d\u7f6e\n\u4ee5\u4e0b\u662f\u5199\u5165\u914d\u7f6e\nlisteners.ssl.default {\n    bind = 8883\n    max_connections = 512000\n    ssl_options {\n        cacertfile = \"etc\/certs\/emqx_ca.pem\"\n        certfile = \"etc\/certs\/emqx_01.pem\"\n        keyfile = \"etc\/certs\/emqx_01.key\"\n        versions = &#091;tlsv1.3, tlsv1.2]\n    }\n}<\/code><\/pre>\n\n\n\n<p>3\u3001\u8bc1\u4e66\u7684\u751f\u6210<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl genrsa -out emqx_ca.key 2048\nopenssl req -x509 -new -nodes -key emqx_ca.key -sha256 -days 3650 -out emqx_ca.pem\nopenssl genrsa -out emqx_01.key 2048\n\u65b0\u5efaopenssl.cnf\u6587\u4ef6\uff1a\n&#091;req]\ndefault_bits  = 2048\ndistinguished_name = req_distinguished_name\nreq_extensions = req_ext\nx509_extensions = v3_req\nprompt = no\n&#091;req_distinguished_name]\ncountryName = CN\nstateOrProvinceName = Zhejiang\nlocalityName = Hangzhou\norganizationName = EMQX\ncommonName = Server certificate\n&#091;req_ext]\nsubjectAltName = @alt_names\n&#091;v3_req]\nsubjectAltName = @alt_names\n&#091;alt_names]\nIP.1 = BROKER_ADDRESS \u8fd9\u91cc\u5199IP\u5730\u5740\uff0c\u4f8b\u598249.77.204.16\nDNS.1 = BROKER_ADDRESS \u8fd9\u91cc\u5199IP\u5730\u5740,\u4f8b\u598249.77.204.16\n\n\n\u4ee5\u8fd9\u4e2a\u5bc6\u94a5\u548c\u914d\u7f6e\u751f\u6210\u4e00\u4e2a\u8bc1\u4e66\u8bf7\u6c42\nopenssl req -new -key .\/emqx_01.key -config openssl.cnf -out emqx_01.csr\n\u6839\u636e\u6839\u8bc1\u4e66\u7b7e\u53d1emqx\u5b9e\u4f53\u8bc1\u4e66\uff1a\nopenssl x509 -req -in .\/emqx_01.csr -CA emqx_ca.pem -CAkey emqx_ca.key -CAcreateserial -out emqx_01.pem -days 3650 -sha256 -extensions v3_req -extfile openssl.cnf\n\u9a8c\u8bc1emqx\u8bc1\u4e66\u662f\u5426\u6b63\u786e\n$ openssl verify -CAfile emqx_ca.pem emqx_01.pem\nemqx.pem: OK\n\n\n\u8bc1\u4e66\u914d\u7f6e\u597d\u4e86\u4ee5\u540e\uff0c\u91cd\u542femqx\u5bb9\u5668\uff0cdocker logs -f\u89c2\u5bdf\u65e5\u5fd7\uff0c\u786e\u8ba4\u6210\u529f\u542f\u52a8<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001docker\u5bb9\u5668\u542f\u52a8emqx 2\u3001emqx\u914d\u7f6e\u6587\u4ef6 3\u3001\u8bc1\u4e66\u7684\u751f\u6210<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-221","post","type-post","status-publish","format-standard","hentry","category-7"],"_links":{"self":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=221"}],"version-history":[{"count":2,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions"}],"predecessor-version":[{"id":649,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions\/649"}],"wp:attachment":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}