PageSourceSearch

https://bklite.ai/assets/js/82eeed0c.7c6c0c52.js

js bklite.ai collected 2026-10-05 15:06:01 UTC 67,482 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[659],{52244:(e,s,n)=>{n.d(s,{R:()=>l,x:()=>r});var d=n(59729);const c={},i=d.createContext(c);function l(e){const s=d.useContext(i);return d.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:l(e.components),d.createElement(i.Provider,{value:s},e.children)}},75539:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>r,default:()=>j,frontMatter:()=>l,metadata:()=>d,toc:()=>h});const d=JSON.parse('{"id":"operations/hardening","title":"\u5b89\u5168\u52a0\u56fa\u624b\u518c","description":"\u672c\u624b\u518c\u9762\u5411\u4f7f\u7528 Docker Compose \u90e8\u7f72\u7684 BK-Lite \u751f\u4ea7\u73af\u5883\uff0c\u63d0\u4f9b\u4e00\u5957\u53ef\u9010\u9879\u843d\u5730\u7684\u5b89\u5168\u52a0\u56fa\u57fa\u7ebf\u3002\u5efa\u8bae\u5728\u7cfb\u7edf\u4e0a\u7ebf\u524d\u3001\u4ee5\u53ca\u6bcf\u6b21\u91cd\u5927\u53d8\u66f4\u540e\uff0c\u6309\u672c\u624b\u518c\u9010\u9879\u6838\u67e5\u5e76\u7b7e\u5b57\u786e\u8ba4\u3002","source":"@site/docs/operations/hardening.md","sourceDirName":"operations","slug":"/operations/hardening","permalink":"/docs/operations/hardening","draft":false,"unlisted":false,"editUrl":"https://github.com/TencentBlueKing/bk-lite/docs/operations/hardening.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4},"sidebar":"operationsSidebar","previous":{"title":"\u5907\u4efd\u4e0e\u8fd8\u539f","permalink":"/docs/operations/backup-restore"}}');var c=n(65813),i=n(52244);const l={sidebar_position:4},r="\u5b89\u5168\u52a0\u56fa\u624b\u518c",t={},h=[{value:"\u52a0\u56fa\u6e05\u5355\u603b\u89c8",id:"\u52a0\u56fa\u6e05\u5355\u603b\u89c8",level:2},{value:"1. \u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0",id:"1-\u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0",level:2},{value:"2. \u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5",id:"2-\u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5",level:2},{value:"3. \u66b4\u9732\u9762\u6536\u655b\uff08\u7aef\u53e3\u52a0\u56fa\uff09",id:"3-\u66b4\u9732\u9762\u6536\u655b\u7aef\u53e3\u52a0\u56fa",level:2},{value:"3.1 \u7aef\u53e3\u5206\u7c7b",id:"31-\u7aef\u53e3\u5206\u7c7b",level:3},{value:"3.2 \u4f7f\u7528\u5bbf\u4e3b\u673a\u9632\u706b\u5899\u6536\u655b\uff08\u63a8\u8350\uff09",id:"32-\u4f7f\u7528\u5bbf\u4e3b\u673a\u9632\u706b\u5899\u6536\u655b\u63a8\u8350",level:3},{value:"3.3 \u6536\u7d27\u7aef\u53e3\u7ed1\u5b9a\u5730\u5740\uff08\u53ef\u9009\uff0c\u66f4\u5f7b\u5e95\uff09",id:"33-\u6536\u7d27\u7aef\u53e3\u7ed1\u5b9a\u5730\u5740\u53ef\u9009\u66f4\u5f7b\u5e95",level:3},{value:"4. \u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0",id:"4-\u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0",level:2},{value:"5. \u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa",id:"5-\u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa",level:2},{value:"5.1 \u7acb\u5373\u4fee\u6539\u9ed8\u8ba4\u53e3\u4ee4",id:"51-\u7acb\u5373\u4fee\u6539\u9ed8\u8ba4\u53e3\u4ee4",level:3},{value:"5.2 \u8d85\u7ea7\u7ba1\u7406\u5458\u6700\u5c0f\u5316",id:"52-\u8d85\u7ea7\u7ba1\u7406\u5458\u6700\u5c0f\u5316",level:3},{value:"5.3 \u5f00\u542f\u767b\u5f55\u5b89\u5168\u7b56\u7565",id:"53-\u5f00\u542f\u767b\u5f55\u5b89\u5168\u7b56\u7565",level:3},{value:"6. \u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4",id:"6-\u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4",level:2},{value:"6.1 \u6536\u7d27\u51ed\u636e\u6587\u4ef6\u6743\u9650",id:"61-\u6536\u7d27\u51ed\u636e\u6587\u4ef6\u6743\u9650",level:3},{value:"6.2 \u6838\u67e5\u4e0e\u8f6e\u6362\u5bc6\u94a5",id:"62-\u6838\u67e5\u4e0e\u8f6e\u6362\u5bc6\u94a5",level:3},{value:"7. \u5bbf\u4e3b\u673a SSH \u8bbf\u95ee\u52a0\u56fa",id:"7-\u5bbf\u4e3b\u673a-ssh-\u8bbf\u95ee\u52a0\u56fa",level:2},{value:"8. TLS/SSL \u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa",id:"8-tlsssl-\u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa",level:2},{value:"8.1 \u5398\u6e05\u4e24\u7c7b\u8bc1\u4e66\u7684\u4f5c\u7528\u57df\uff08\u52a1\u5fc5\u5148\u8bfb\uff09",id:"81-\u5398\u6e05\u4e24\u7c7b\u8bc1\u4e66\u7684\u4f5c\u7528\u57df\u52a1\u5fc5\u5148\u8bfb",level:3},{value:"8.2 \u5355\u72ec\u66ff\u6362 HTTPS\uff08Web/API\uff09\u8bc1\u4e66\uff08\u5b89\u5168\uff0c\u4e0d\u5f71\u54cd Agent\uff09",id:"82-\u5355\u72ec\u66ff\u6362-httpswebapi\u8bc1\u4e66\u5b89\u5168\u4e0d\u5f71\u54cd-agent",level:3},{value:"8.3 \u66ff\u6362 NATS \u8bc1\u4e66\uff08\u9ad8\u5f71\u54cd\uff0c\u4ec5\u5728\u5fc5\u8981\u65f6\uff09",id:"83-\u66ff\u6362-nats-\u8bc1\u4e66\u9ad8\u5f71\u54cd\u4ec5\u5728\u5fc5\u8981\u65f6",level:3},{value:"8.4 \u6536\u7d27 TLS \u534f\u8bae\u7248\u672c\u4e0e\u52a0\u5bc6\u5957\u4ef6",id:"84-\u6536\u7d27-tls-\u534f\u8bae\u7248\u672c\u4e0e\u52a0\u5bc6\u5957\u4ef6",level:3},{value:"9. \u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66",id:"9-\u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66",level:2},{value:"9.1 \u5e73\u53f0\u5185\u5ba1\u8ba1\u65e5\u5fd7",id:"91-\u5e73\u53f0\u5185\u5ba1\u8ba1\u65e5\u5fd7",level:3},{value:"9.2 \u914d\u7f6e\u544a\u8b66\u901a\u77e5",id:"92-\u914d\u7f6e\u544a\u8b66\u901a\u77e5",level:3},{value:"9.3 \u57fa\u7840\u8bbe\u65bd\u5c42\u65e5\u5fd7",id:"93-\u57fa\u7840\u8bbe\u65bd\u5c42\u65e5\u5fd7",level:3},{value:"10. Docker \u5b88\u62a4\u8fdb\u7a0b\u52a0\u56fa\uff08daemon.json\uff09",id:"docker-daemon",level:2},{value:"10.1 \u63a8\u8350\u7684 daemon.json",id:"101-\u63a8\u8350\u7684-daemonjson",level:3},{value:"10.2 \u5e94\u7528\u914d\u7f6e",id:"102-\u5e94\u7528\u914d\u7f6e",level:3},{value:"10.3 \u6ce8\u610f\u4e8b\u9879",id:"103-\u6ce8\u610f\u4e8b\u9879",level:3},{value:"\u52a0\u56fa\u5b8c\u6210\u6838\u67e5\u8868",id:"\u52a0\u56fa\u5b8c\u6210\u6838\u67e5\u8868",level:2},{value:"\u83b7\u53d6\u5e2e\u52a9",id:"\u83b7\u53d6\u5e2e\u52a9",level:2}];function x(e){const s={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",input:"input",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.header,{children:(0,c.jsx)(s.h1,{id:"\u5b89\u5168\u52a0\u56fa\u624b\u518c",children:"\u5b89\u5168\u52a0\u56fa\u624b\u518c"})}),"\n",(0,c.jsxs)(s.p,{children:["\u672c\u624b\u518c\u9762\u5411\u4f7f\u7528 Docker Compose \u90e8\u7f72\u7684 ",(0,c.jsx)(s.strong,{children:"BK-Lite"})," \u751f\u4ea7\u73af\u5883\uff0c\u63d0\u4f9b\u4e00\u5957\u53ef\u9010\u9879\u843d\u5730\u7684\u5b89\u5168\u52a0\u56fa\u57fa\u7ebf\u3002\u5efa\u8bae\u5728\u7cfb\u7edf\u4e0a\u7ebf\u524d\u3001\u4ee5\u53ca\u6bcf\u6b21\u91cd\u5927\u53d8\u66f4\u540e\uff0c\u6309\u
1672c\u624b\u518c\u9010\u9879\u6838\u67e5\u5e76\u7b7e\u5b57\u786e\u8ba4\u3002"]}),"\n",(0,c.jsx)(s.admonition,{title:"\u9002\u7528\u8303\u56f4",type:"tip",children:(0,c.jsxs)(s.p,{children:["\u672c\u624b\u518c\u57fa\u4e8e BK-Lite \u5b98\u65b9 ",(0,c.jsx)(s.code,{children:"install.run"})," / ",(0,c.jsx)(s.code,{children:"bootstrap.sh"})," \u5355\u673a\u4e00\u4f53\u5316\u90e8\u7f72\u5f62\u6001\u7f16\u5199\u3002\u82e5\u4f60\u4f7f\u7528\u4f01\u4e1a\u7248\u5916\u90e8\u6570\u636e\u5e93\u6216\u81ea\u5b9a\u4e49\u7f16\u6392\uff0c\u8bf7\u7ed3\u5408\u5b9e\u9645\u62d3\u6251\u8c03\u6574\u3002"]})}),"\n",(0,c.jsx)(s.h2,{id:"\u52a0\u56fa\u6e05\u5355\u603b\u89c8",children:"\u52a0\u56fa\u6e05\u5355\u603b\u89c8"}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"#"}),(0,c.jsx)(s.th,{children:"\u52a0\u56fa\u9879"}),(0,c.jsx)(s.th,{children:"\u98ce\u9669\u7b49\u7ea7"}),(0,c.jsx)(s.th,{children:"\u662f\u5426\u5fc5\u505a"})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"1"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#1-%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7%E4%B8%8E%E9%95%9C%E5%83%8F%E6%9B%B4%E6%96%B0",children:"\u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0"})}),(0,c.jsx)(s.td,{children:"\u4e2d"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"2"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#2-%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E4%B8%8E%E8%AE%BF%E9%97%AE%E5%85%A5%E5%8F%A3%E6%A3%80%E6%9F%A5",children:"\u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5"})}),(0,c.jsx)(s.td,{children:"\u4e2d"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"3"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#3-%E6%9A%B4%E9%9C%B2%E9%9D%A2%E6%94%B6%E6%95%9B%E7%AB%AF%E5%8F%A3%E5%8A%A0%E5%9B%BA",children:"\u66b4\u9732\u9762\u6536\u655b\uff08\u7aef\u53e3\u52a0\u56fa\uff09"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u9ad8"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u5fc5\u505a"})})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"4"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#4-%E5%AE%BF%E4%B8%BB%E6%9C%BA%E4%B8%8E%E4%BE%9D%E8%B5%96%E8%A1%A5%E4%B8%81%E6%9B%B4%E6%96%B0",children:"\u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0"})}),(0,c.jsx)(s.td,{children:"\u4e2d"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"5"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#5-%E7%AE%A1%E7%90%86%E5%91%98%E8%B4%A6%E6%88%B7%E5%8A%A0%E5%9B%BA",children:"\u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u9ad8"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u5fc5\u505a"})})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"6"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#6-%E6%95%8F%E6%84%9F%E5%87%AD%E6%8D%AE%E4%B8%8E%E5%AF%86%E9%92%A5%E4%BF%9D%E6%8A%A4",children:"\u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u9ad8"})}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u5fc5\u505a"})})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"7"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#7-%E5%AE%BF%E4%B8%BB%E6%9C%BA-ssh-%E8%AE%BF%E9%97%AE%E5%8A%A0%E5%9B%BA",children:"\u5bbf\u4e3b\u673a SSH \u8bbf\u95ee\u52a0\u56fa"})}),(0,c.jsx)(s.td,{children:"\u9ad8"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"8"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#8-tlsssl-%E5%8D%8F%E8%AE%AE%E4%B8%8E%E8%AF%81%E4%B9%A6%E5%8A%A0%E5%9B%BA",children:"TLS/SSL \u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa"})}),(0,c.jsx)(s.td,{children:"\u9ad8"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"9"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#9-%E5%90%AF%E7%94%A8%E5%AE%A1%E8%AE%A1%E6%97%A5%E5%BF%97%E4%B8%8E%E5%91%8A%E8%AD%A6",children:"\u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66"})}),(0,c.jsx)(s.td,{children:"\u4e2d"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"10"}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.a,{href:"#docker-daemon",children:"Docker \u5b88\u62a4\u8fdb\u7a0b\u52a0\u56fa\uff08daemon.json\uff09"})}),(0,c.jsx)(s.td,{children:"\u4e2d"}),(0,c.jsx)(s.td,{children:"\u5efa\u8bae"})]})]})]}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:["\u4e0b\u6587\u6240\u6709\u547d\u4ee4\u9ed8\u8ba4\u5728\u9
10e8\u7f72\u76ee\u5f55 ",(0,c.jsx)(s.code,{children:"/opt/bk-lite"})," \u4e0b\u6267\u884c\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"1-\u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0",children:"1. \u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u53ca\u65f6\u83b7\u53d6\u4e0a\u6e38\u5b89\u5168\u4fee\u590d\uff0c\u907f\u514d\u8fd0\u884c\u5e26\u6709\u5df2\u77e5\u6f0f\u6d1e\u7684\u65e7\u7248\u672c\u7ec4\u4ef6\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:["BK-Lite \u7684\u5b89\u88c5\u811a\u672c\u8bbe\u8ba1\u4e3a",(0,c.jsx)(s.strong,{children:"\u5e42\u7b49"}),"\uff0c\u91cd\u590d\u6267\u884c\u5373\u53ef\u62c9\u53d6\u5e76\u5207\u6362\u5230\u6700\u65b0\u955c\u50cf\uff0c\u4e0d\u4f1a\u7834\u574f\u5df2\u90e8\u7f72\u7684\u6570\u636e\u4e0e\u914d\u7f6e\u3002"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:'# \u5728\u7ebf\u73af\u5883\uff1a\u91cd\u65b0\u6267\u884c\u5b89\u88c5\u811a\u672c\u5373\u53ef\u5b8c\u6210\u955c\u50cf\u66f4\u65b0\ncurl -sSL https://bklite.ai/install.run | bash -s -\n\n# \u67e5\u770b\u5f53\u524d\u8fd0\u884c\u955c\u50cf\u7248\u672c\uff0c\u786e\u8ba4\u66f4\u65b0\u751f\u6548\ndocker compose ps --format "table {{.Name}}\\t{{.Image}}"\n'})}),"\n",(0,c.jsxs)(s.p,{children:["\u79bb\u7ebf\u73af\u5883\u9700\u5148\u5728\u8054\u7f51\u673a\u5668\u4e0a\u91cd\u65b0\u5236\u4f5c\u79bb\u7ebf\u5305\uff0c\u518d\u5206\u53d1\u5230\u76ee\u6807\u670d\u52a1\u5668\u540e\u6267\u884c ",(0,c.jsx)(s.code,{children:"bootstrap.sh"}),"\uff0c\u8be6\u89c1",(0,c.jsx)(s.a,{href:"/docs/deploy/docker-compose",children:"\u7cfb\u7edf\u90e8\u7f72\u6307\u5357"}),"\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5efa\u7acb\u5b9a\u671f\u68c0\u67e5\u4e0a\u6e38\u7248\u672c\u7684\u673a\u5236\uff08\u5efa\u8bae\u6bcf\u6708\u4e00\u6b21\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5347\u7ea7\u524d\u5148\u6267\u884c",(0,c.jsx)(s.a,{href:"/docs/operations/backup-restore",children:"\u5907\u4efd"}),"\uff0c\u786e\u4fdd\u53ef\u56de\u6eda\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5347\u7ea7\u540e\u6838\u5bf9\u5404\u7ec4\u4ef6 ",(0,c.jsx)(s.code,{children:"Status"})," \u4e3a ",(0,c.jsx)(s.code,{children:"healthy"}),"\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"2-\u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5",children:"2. \u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u786e\u4fdd\u7528\u6237\u53ea\u80fd\u901a\u8fc7\u53d7\u63a7\u7684\u7edf\u4e00\u5165\u53e3\uff08Traefik + TLS\uff09\u8bbf\u95ee\u5e73\u53f0\uff0c\u907f\u514d\u51fa\u73b0\u672a\u7ecf\u9884\u671f\u7684\u8bbf\u95ee\u8def\u5f84\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:["BK-Lite \u7684\u552f\u4e00\u5bf9\u5916\u8bbf\u95ee\u5165\u53e3\u662f ",(0,c.jsx)(s.strong,{children:"Traefik"}),"\uff0c\u76d1\u542c ",(0,c.jsx)(s.code,{children:"TRAEFIK_WEB_PORT"}),"\uff08\u9ed8\u8ba4 ",(0,c.jsx)(s.code,{children:"443"}),"\uff09\u5e76\u5f3a\u5236 TLS\u3002\u8bbf\u95ee\u5730\u5740\u5f62\u5982 ",(0,c.jsx)(s.code,{children:"https://<HOST_IP>:<TRAEFIK_WEB_PORT>"}),"\u3002"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u786e\u8ba4\u5bf9\u5916\u5165\u53e3\u4e0e\u7aef\u53e3\u914d\u7f6e\ncat port.env        # \u67e5\u770b HOST_IP \u4e0e TRAEFIK_WEB_PORT\n\n# \u9a8c\u8bc1\u5165\u53e3\u53ef\u8fbe\u4e14\u8d70 HTTPS\ncurl -kv https://<HOST_IP>:443 2>&1 | head -20\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"HOST_IP"})," \u4e0e\u5bf9\u5916\u53d1\u5e03\u7684\u5730\u5740/\u57df\u540d\u4e00\u81f4\uff1b\u53d8\u66f4\u5730\u5740\u540e\u9700\u91cd\u7b7e\u8bc1\u4e66\uff08\u6e05\u7406 ",(0,c.jsx)(s.code,{children:"conf/certs/"}
1)," \u540e\u91cd\u8dd1\u811a\u672c\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u4e1a\u52a1\u7528\u6237\u4e00\u5f8b\u901a\u8fc7 Traefik \u5165\u53e3\u8bbf\u95ee\uff0c\u4e0d\u76f4\u8fde\u4efb\u4f55\u540e\u7aef\u670d\u52a1\u7aef\u53e3\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5982\u90e8\u7f72\u5728\u516c\u7f51\uff0c\u524d\u7f6e\u4f7f\u7528\u4e91\u5382\u5546\u5b89\u5168\u7ec4 / \u8d1f\u8f7d\u5747\u8861\uff0c\u4ec5\u653e\u901a\u5165\u53e3\u7aef\u53e3\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"3-\u66b4\u9732\u9762\u6536\u655b\u7aef\u53e3\u52a0\u56fa",children:"3. \u66b4\u9732\u9762\u6536\u655b\uff08\u7aef\u53e3\u52a0\u56fa\uff09"}),"\n",(0,c.jsx)(s.admonition,{title:"\u9ad8\u5371\u9879 \xb7 \u5fc5\u505a",type:"danger",children:(0,c.jsxs)(s.p,{children:["\u9ed8\u8ba4\u90e8\u7f72\u4f1a\u5c06\u591a\u4e2a",(0,c.jsxs)(s.strong,{children:["\u6570\u636e\u5c42\u4e0e\u4e2d\u95f4\u4ef6\u7aef\u53e3\u76f4\u63a5\u7ed1\u5b9a\u5230\u5bbf\u4e3b\u673a ",(0,c.jsx)(s.code,{children:"0.0.0.0"})]}),"\u3002\u82e5\u670d\u52a1\u5668\u5177\u5907\u516c\u7f51 IP \u6216\u5904\u4e8e\u4e0d\u53d7\u4fe1\u7f51\u7edc\uff0c\u8fd9\u4e9b\u7aef\u53e3\u53ef\u80fd\u88ab\u76f4\u63a5\u8bbf\u95ee\uff0c\u9020\u6210\u6570\u636e\u6cc4\u9732\u6216\u88ab\u63a5\u7ba1\u3002",(0,c.jsx)(s.strong,{children:"\u8fd9\u662f\u672c\u624b\u518c\u6700\u91cd\u8981\u7684\u52a0\u56fa\u9879\u3002"})]})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u5c06\u653b\u51fb\u9762\u6536\u655b\u5230\u4ec5\u6709\u7684\u5fc5\u8981\u5165\u53e3\uff0c\u5c01\u5835\u65e0\u9700\u5bf9\u5916\u7684\u5185\u90e8\u7aef\u53e3\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"31-\u7aef\u53e3\u5206\u7c7b",children:"3.1 \u7aef\u53e3\u5206\u7c7b"}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"\u7aef\u53e3"}),(0,c.jsx)(s.th,{children:"\u7ec4\u4ef6"}),(0,c.jsx)(s.th,{children:"\u7528\u9014"}),(0,c.jsx)(s.th,{children:"\u5bf9\u5916\u8981\u6c42"})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"443"}),"\uff08",(0,c.jsx)(s.code,{children:"TRAEFIK_WEB_PORT"}),"\uff09"]}),(0,c.jsx)(s.td,{children:"Traefik"}),(0,c.jsx)(s.td,{children:"Web/API \u7edf\u4e00\u5165\u53e3"}),(0,c.jsx)(s.td,{children:"\u2705 \u5fc5\u987b\u5f00\u653e"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"162/udp"})}),(0,c.jsx)(s.td,{children:"Fusion-Collector"}),(0,c.jsx)(s.td,{children:"SNMP Trap \u63a5\u6536"}),(0,c.jsxs)(s.td,{children:["\u26a0\ufe0f \u4ec5\u5bf9",(0,c.jsx)(s.strong,{children:"\u53d7\u7ba1\u8bbe\u5907\u7f51\u6bb5"}),"\u5f00\u653e"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"514/udp"})}),(0,c.jsx)(s.td,{children:"Fusion-Collector"}),(0,c.jsx)(s.td,{children:"Syslog \u63a5\u6536"}),(0,c.jsxs)(s.td,{children:["\u26a0\ufe0f \u4ec5\u5bf9",(0,c.jsx)(s.strong,{children:"\u53d7\u7ba1\u8bbe\u5907\u7f51\u6bb5"}),"\u5f00\u653e"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"1514"})}),(0,c.jsx)(s.td,{children:"Fusion-Collector"}),(0,c.jsx)(s.td,{children:"Beats \u65e5\u5fd7\u63a5\u6536"}),(0,c.jsxs)(s.td,{children:["\u26a0\ufe0f \u4ec5\u5bf9",(0,c.jsx)(s.strong,{children:"\u53d7\u7ba1\u8282\u70b9\u7f51\u6bb5"}),"\u5f00\u653e"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"5432"})}),(0,c.jsx)(s.td,{children:"PostgreSQL"}),(0,c.jsx)(s.td,{children:"\u5173\u7cfb\u6570\u636e\u5e93"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"6379"})}),(0,c.jsx)(s.td,{children:"Redis"}),(0,c.jsx)(s.td,{children:"\u7f13\u5b58/\u4f1a\u8bdd/Broker"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"6479"})}),(0,c.jsx)(s.td,{children:"FalkorDB"}),(0,c.jsx)(s.td,{children:"\u56fe\u6570\u636e\u5e93"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"4222"})," / ",(0,c.jsx)(s.code,{children:"7422"})]}),(0,c.jsx)(s.td,{children:"NATS"}),(0,c.jsx)(s.td,{children:"\u6d88\u606f/Leaf \u8282\u70b9"}),(0,c.jsx)(s.td,{children:"\u2705 \u5fc5\u987b\u5f00\u653e"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"8428"})}),(0,c.jsx)(s.td,{children:"VictoriaMetrics"}),(0,c.jsx)(s.td,{children:"\u6307\u6807\u5b58\u50a8"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"9428"})}),(0,c.jsx)(s.td,{children:"VictoriaLogs"}),(0,c.jsx)(s.td,{children:"\u65e5\u5fd7\u5b58\u50a8"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"9000"})," / ",(0,c.jsx)(s.code,{children:"9001"})]}),(0,c.jsx)(s.td,{children:"MinIO"}),(0,c.jsx)(s.td,{children:"\u5bf9\u8c61\u5b58\u50a8 / \u63a7\u5236\u53f0"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"15000"})}),(0,c.jsx)(s.td,{children:"MLflow"}),(0,c.jsx)(s.td,{children:"\u5b9e\u9a8c\u8ddf\u8e2a"}),(0,c.jsx)(s.td,{children:"\u274c \u5e94\u5c01\u5835"})]})]})]}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsx)(s.p,{children:"\u6807\u8bb0\u4e3a\u300c\u274c \u5e94\u5c01\u5835\u300d\u7684\u7aef\u53e3\u662f\u5e73\u53f0\u5185\u90e8\u7ec4\u4ef6\u4e92\u76f8\u901a\u4fe1\u7528\u7684\uff0c\u4e1a\u52a1\u8bbf\u95ee\u65e0\u9700\u7ecf\u8fc7\u5b83\u4eec\u3002"}),"\n"]}),"\n",(0,c.jsx)(s.h3,{id:"32-\u4f7f\u7528\u5bbf\u4e3b\u673a\u9632\u706b\u5899\u6536\u655b\u63a8\u8350",children:"3.2 \u4f7f\u7528\u5bbf\u4e3b\u673a\u9632\u706b\u5899\u6536\u655b\uff08\u63a8\u8350\uff09"}),"\n",(0,c.jsxs)(s.p,{children:["\u6700\u5c0f\u6539\u52a8\u7684\u505a\u6cd5\u662f\u7528\u5bbf\u4e3b\u673a\u9632\u706b\u5899\uff1a",(0,c.jsx)(s.strong,{children:"\u9ed8\u8ba4\u62d2\u7edd\u5165\u7ad9"}),"\uff0c\u4ec5\u653e\u901a\u5165\u53e3\u7aef\u53e3\uff0c\u4ee5\u53ca\u5bf9\u53d7\u7ba1\u7f51\u6bb5\u5f00\u653e\u91c7\u96c6\u7aef\u53e3\u3002"]}),"\n",(0,c.jsx)(s.admonition,{title:"\u6ce8\u610f Docker \u4e0e\u9632\u706b\u5899\u7684\u5173\u7cfb",type:"warning",children:(0,c.jsxs)(s.p,{children:["Docker \u53d1\u5e03\u7aef\u53e3\u65f6\u4f1a\u76f4\u63a5\u5199\u5165 ",(0,c.jsx)(s.code,{children:"iptables"})," \u7684 ",(0,c.jsx)(s.code,{children:"DOCKER"})," \u94fe\uff0c\u53ef\u80fd",(0,c.jsxs)(s.strong,{children:["\u7ed5\u8fc7 ",(0,c.jsx)(s.code,{children:"ufw"}),"/",(0,c.jsx)(s.code,{children:"firewalld"})," \u7684\u666e\u901a\u89c4\u5219"]}),"\u3002\u751f\u4ea7\u73af\u5883\u5efa\u8bae\u4f18\u5148\u5728",(0,c.jsx)(s.strong,{children:"\u4e91\u5b89\u5168\u7ec4 / \u7f51\u7edc ACL / \u4e0a\u5c42\u9632\u706b\u5899"}),"\u505a\u6536\u655b\uff1b\u82e5\u5fc5\u987b\u5728\u4e3b\u673a\u4fa7\u5904\u7406\uff0c\u8bf7\u4f7f\u7528 ",(0,c.jsx)(s.code,{children:"DOCKER-USER"})," \u94fe\u3002"]})}),"\n",(0,c.jsxs)(s.p,{children:["\u4ee5 ",(0,c.jsx)(s.code,{children:"firewalld"})," \u4e3a\u4f8b\uff08\u6309\u53d7\u7ba1\u7f51\u6bb5\u66ff\u6362 ",(0,c.jsx)(s.code,{children:"<\u7ba1\u7406\u7f51\u6bb5>"}),"\uff09\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u4ec5\u653e\u901a Web \u5165\u53e3\nfirewall-cmd --permanent --add-port=443/tcp\n\n# \u91c7\u96c6\u7aef\u53e3\u4ec5\u5bf9\u53d7\u7ba1\u7f51\u6bb5\u653e\u901a\nfirewall-cmd --permanent --zone=internal --add-source=<\u7ba1\u7406\u7f51\u6bb5>/24\nfirewall-cmd --permanent --zone=internal --add-port=162/udp\nfirewall-cmd --permanent --zone=internal --add-port=514/udp\nfirewall-cmd --permanent --zone=internal --add-port=1514/tcp\n\nfirewall-cmd --reload\n"})}),"\n",(0,c.jsxs)(s.p,{children:["\u4f7f\u7528 ",(0,c.jsx)(s.code,{children:"iptables DOCKER-USER"})," \u94fe\u5c01\u5835\u5185\u90e8\u7aef\u53e3\u7684\u516c\u7f51\u8bbf\u95ee\uff08\u793a\u4f8b\uff0c\u6309\u9700\u8c03\u6574\u7f51\u5361/\u7f51\u6bb5\uff09\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u4ec5\u5141\u8bb8\u5185\u7f51\u6765\u6e90\u8bbf\u95ee\u6570\u636e\u7aef\u53e3\uff0c\u5176\u4f59\u4e00\u5f8b\u4e22\u5f03\nfor p in 5432 6379 6479 4222 7422 8428 9428 9000 9001 15000; do\n  iptables -I DOCKER-USER -p tcp --dport $p ! -s 10.0.0.0/8 -j DROP\ndone\n"})}),"\n",(0,c.jsx)(s.h3,{id:"33-\u6536\u7d27\u7aef\u53e3\u7ed1\u5b9a\u5730\u5740\u53ef\u9009\u66f4\u5f7b\u5e95",children:"3.3 \u6536\u7d27\u7aef\u53e3\u7ed1\u5b9a\u5730\u5740\uff08\u53ef\u9009\uff0c\u66f4\u5f7b\u5e95\uff09"}),"\n",(0,c.jsxs)(s.p,{children:["\u5bf9\u4e8e\u5b8c\u5168\u65e0\u9700\u88ab\u5176\u4ed6\u4e3b\u673a\u8bbf\u95ee\u7684\u5185\u90e8\u7aef\u53e3\uff0c\u53ef\u5c06\u5176 ",(0,c.jsx)(s.code,{children:"ports"})," \u6620\u5c04\u4ece ",(0,c.jsx)(s.code,{children:"0.0.0.0"})," \u6539\u4e3a\u4ec5\u7ed1\u5b9a\u672c\u673a\u56de\u73af\u5730\u5740\u3002\u7f16\u8f91 ",(0,c.jsx)(s.code,{children:"compose/"})," \u4e0b\u5bf9\u5e94\u6587\u4ef6\uff0c\u4f8b\u5982 ",(0,c.jsx)(s.code,{children:"compose/postgres.yaml"}),"\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-yaml",children:'ports:\n  - "127.0.0.1:5432:5432"   # \u7531 "5432:5432" \u6539\u4e3a\u4ec5\u672c\u673a\u53ef\u8bbf\u95ee\n'})}
1),"\n",(0,c.jsx)(s.p,{children:"\u4fee\u6539\u540e\u91cd\u65b0\u751f\u6210\u5e76\u5e94\u7528\u7f16\u6392\uff1a"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"bash bootstrap.sh        # \u91cd\u65b0\u751f\u6210 docker-compose.yaml \u5e76\u5e94\u7528\n"})}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsx)(s.p,{children:"\u82e5\u4f60\u7684\u91c7\u96c6\u63a2\u9488\u3001\u5916\u90e8 BI \u5de5\u5177\u786e\u5b9e\u9700\u8981\u76f4\u8fde\u67d0\u7aef\u53e3\uff0c\u8bf7\u52ff\u4e00\u5200\u5207\u5c01\u5835\uff0c\u6539\u4e3a\u6309\u6765\u6e90 IP \u767d\u540d\u5355\u653e\u901a\u3002"}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u7528 ",(0,c.jsx)(s.code,{children:"ss -tlnp"})," / \u5916\u90e8\u626b\u63cf\u786e\u8ba4\u4ec5\u5165\u53e3\u7aef\u53e3\u5bf9\u5916\u53ef\u8fbe\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u91c7\u96c6\u7aef\u53e3\u4ec5\u5bf9\u53d7\u7ba1\u7f51\u6bb5\u5f00\u653e\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u6570\u636e\u5e93/\u7f13\u5b58/\u5bf9\u8c61\u5b58\u50a8\u7aef\u53e3\u5728\u516c\u7f51\u4e0d\u53ef\u8fbe\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u672c\u673a\u67e5\u770b\u76d1\u542c\u7aef\u53e3\nss -tlnp\n# \u4ece\u53e6\u4e00\u53f0\u673a\u5668\u9a8c\u8bc1\u5185\u90e8\u7aef\u53e3\u4e0d\u53ef\u8fbe\uff08\u5e94\u8d85\u65f6\u6216\u62d2\u7edd\uff09\nnc -zv <HOST_IP> 5432\n"})}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"4-\u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0",children:"4. \u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u4fdd\u6301\u5bbf\u4e3b\u673a\u64cd\u4f5c\u7cfb\u7edf\u3001Docker \u5f15\u64ce\u53ca\u5185\u6838\u5904\u4e8e\u53d7\u652f\u6301\u4e14\u5df2\u6253\u8865\u4e01\u7684\u72b6\u6001\u3002"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u64cd\u4f5c\u7cfb\u7edf\u8865\u4e01\uff08\u6309\u53d1\u884c\u7248\u9009\u62e9\uff09\nsudo apt update && sudo apt upgrade -y        # Debian/Ubuntu\nsudo dnf upgrade --refresh -y                 # RHEL/CentOS/Rocky\n\n# \u786e\u8ba4 Docker / Compose \u7248\u672c\u6ee1\u8db3\u5e76\u9ad8\u4e8e\u6700\u4f4e\u8981\u6c42\ndocker --version          # \u8981\u6c42 >= 20.10.23\ndocker compose version    # \u8981\u6c42 >= v2.27.0\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u542f\u7528\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b89\u5168\u8865\u4e01\u81ea\u52a8\u66f4\u65b0\uff08\u5982 ",(0,c.jsx)(s.code,{children:"unattended-upgrades"})," / ",(0,c.jsx)(s.code,{children:"dnf-automatic"}),"\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5b9a\u671f\u91cd\u542f\u4ee5\u4f7f\u5185\u6838\u8865\u4e01\u751f\u6548\uff08\u7ed3\u5408\u7ef4\u62a4\u7a97\u53e3\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u79fb\u9664\u5bbf\u4e3b\u673a\u4e0a\u65e0\u5173\u7684\u670d\u52a1\u4e0e\u8f6f\u4ef6\uff0c\u51cf\u5c11\u653b\u51fb\u9762\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"5-\u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa",children:"5. \u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa"}),"\n",(0,c.jsx)(s.admonition,{title:"\u9ad8\u5371\u9879 \xb7 \u5fc5\u505a",type:"danger",children:(0,c.jsxs)(s.p,{children:["\u5168\u65b0\u90e8\u7f72\u540e\u7684\u521d\u59cb\u7ba1\u7406\u5458\u8d26\u53f7\u4e3a ",(0,c.jsxs)(s.strong,{children:["\u7528\u6237\u540d ",(0,c.jsx)(s.code,{children:"admin"})," / \u5bc6\u7801 ",(0,c.jsx)(s.code,{children:"password"})]}),"\u3002",(0,c.jsx)(s.strong,{children:"\u9996\u6b21\u767b\u5f55\u540e\u5fc5\u987b\u7acb\u5373\u4fee\u6539"}),"\uff0c\u5426\u5219\u7b49\u540c\u4e8e\u65e0\u5bc6\u7801\u66b4\u9732\u5728\u7f51\u7edc\u4e0a\u3002"]})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u6d88\u9664\u9ed8\u8ba4\u5f31\u53e3\u4ee4\u3001\u9075\u5faa\u6700\u5c0f\u6743\u9650\u539f\u5219\u3001\u5f3a\u5316\u767b\u5f55\u8ba4\u8bc1\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"51-\u7acb\u5373\u4fee\u6539\u9ed8\u8ba4\u53e3\u4ee4",children:"5.
11 \u7acb\u5373\u4fee\u6539\u9ed8\u8ba4\u53e3\u4ee4"}),"\n",(0,c.jsxs)(s.p,{children:["\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u4f7f\u7528 ",(0,c.jsx)(s.code,{children:"admin / password"})," \u767b\u5f55 ",(0,c.jsx)(s.code,{children:"https://<HOST_IP>:<\u7aef\u53e3>"}),"\uff0c\u7b2c\u4e00\u65f6\u95f4\u5728\u300c\u63a7\u5236\u53f0 \u2192 \u4e2a\u4eba\u8bbe\u7f6e\u300d\u4fee\u6539\u5bc6\u7801\u4e3a\u9ad8\u5f3a\u5ea6\u53e3\u4ee4\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"52-\u8d85\u7ea7\u7ba1\u7406\u5458\u6700\u5c0f\u5316",children:"5.2 \u8d85\u7ea7\u7ba1\u7406\u5458\u6700\u5c0f\u5316"}),"\n",(0,c.jsxs)(s.p,{children:["\u53c2\u8003\u5e73\u53f0\u5185\u7f6e\u7684",(0,c.jsx)(s.a,{href:"/docs/system/feature",children:"\u5b89\u5168\u6700\u4f73\u5b9e\u8df5"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:["\u8d85\u7ea7\u7ba1\u7406\u5458\uff08Super Admin\uff09\u62e5\u6709\u5168\u91cf\u6570\u636e\u4e0e\u63a5\u7ba1\u6743\u9650\uff0c",(0,c.jsx)(s.strong,{children:"\u4ec5\u5411\u6781\u5c11\u6570\u5ba1\u8ba1/\u5408\u89c4\u4eba\u5458\u4fdd\u7559"}),"\uff0c\u5e76\u914d\u5907\u66f4\u9ad8\u968f\u673a\u5ea6\u53e3\u4ee4\u4e0e\u66f4\u77ed\u7684\u5931\u6548\u5468\u671f\u3002"]}),"\n",(0,c.jsx)(s.li,{children:"\u65e5\u5e38\u8fd0\u7ef4\u4e0e\u914d\u7f6e\u4f7f\u7528**\u4ec5\u9
1650\u4e1a\u52a1\u8303\u56f4\u7684\u300c\u5e73\u53f0\u7ba1\u7406\u5458\u300d**\u8d26\u53f7\uff0c\u907f\u514d\u8bef\u64cd\u4f5c\u9020\u6210\u5168\u5c40\u7834\u574f\u3002"}),"\n",(0,c.jsx)(s.li,{children:"\u5728\u300c\u7cfb\u7edf\u7ba1\u7406 \u2192 \u7528\u6237\u7ba1\u7406\u300d\u4e2d\u6e05\u7406\u65e0\u7528\u8d26\u53f7\uff0c\u6838\u67e5\u6bcf\u4e2a\u8d26\u53f7\u7684\u89d2\u8272\u6302\u8f7d\u662f\u5426\u7b26\u5408\u6700\u5c0f\u6743\u9650\u3002"}),"\n"]}),"\n",(0,c.jsx)(s.h3,{id:"53-\u5f00\u542f\u767b\u5f55\u5b89\u5168\u7b56\u7565",children:"5.3 \u5f00\u542f\u767b\u5f55\u5b89\u5168\u7b56\u7565"}),"\n",(0,c.jsx)(s.p,{children:"\u5728\u300c\u7cfb\u7edf\u7ba1\u7406 \u2192 \u5b89\u5168\u7ba1\u7406 \u2192 \u5b89\u5168\u8bbe\u7f6e\u300d\u4e2d\u914d\u7f6e\uff1a"}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u5bc6\u7801\u590d\u6742\u5ea6"}),"\uff1a\u8bbe\u7f6e\u6700\u5c0f\u957f\u5ea6\u4e0e\u590d\u6742\u5ea6\u8981\u6c42\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u8d26\u6237\u9501\u5b9a"}),"\uff1a\u914d\u7f6e\u591a\u6b21\u767b\u5f55\u5931\u8d25\u540e\u9501\u5b9a\uff0c\u62b5\u5fa1\u5b57\u5178/\u7206\u7834\u653b\u51fb\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"OTP \u53cc\u56e0\u5b50\u8ba4\u8bc1"}),"\uff1a\u5bf9\u7ba1\u7406\u5458\u8d26\u53f7\u5f3a\u5236\u5f00\u542f\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u53e3\u4ee4\u8f6e\u6362"}),"\uff1a\u8bbe\u7f6e\u5b9a\u671f\u66f4\u6362\u4e0e\u5230\u671f\u63d0\u9192\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\uff08\u53ef\u9009\uff09\u5bf9\u63a5\u4f01\u4e1a\u7edf\u4e00\u8ba4\u8bc1\u6e90\uff0c\u5b9e\u73b0\u4e00\u81f4\u7684\u8eab\u4efd\u7b56\u7565\u4e0e\u5355\u70b9\u767b\u5f55\u3002"]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"admin"})," \u9ed8\u8ba4\u53e3\u4ee4\u5df2\u4fee\u6539\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u8d85\u7ea7\u7ba1\u7406\u5458\u6570\u91cf\u5df2\u6536\u655b\u5230\u5fc5\u8981\u7684\u6700\u5c11\u4eba\u6570\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5bc6\u7801\u7b56\u7565\u3001\u8d26\u6237\u9501\u5b9a\u3001OTP \u5df2\u542f\u7528\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"6-\u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4",children:"6. \u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4"}),"\n",(0,c.jsx)(s.admonition,{title:"\u9ad8\u5371\u9879 \xb7 \u5fc5\u505a",type:"danger",children:(0,c.jsxs)(s.p,{children:["\u5b89\u88c5\u811a\u672c\u751f\u6210\u7684\u6240\u6709\u7ec4\u4ef6\u53e3\u4ee4\u4e0e\u5bc6\u94a5\uff08PostgreSQL\u3001Redis\u3001NATS\u3001MinIO\u3001FalkorDB \u5bc6\u7801\u53ca ",(0,c.jsx)(s.code,{children:"SECRET_KEY"}),"\u3001",(0,c.jsx)(s.code,{children:"NEXTAUTH_SECRET"}),"\uff09\u4ee5",(0,c.jsx)(s.strong,{children:"\u660e\u6587"}),"\u4fdd\u5b58\u5728\u90e8\u7f72\u76ee\u5f55\u7684 ",(0,c.jsx)(s.code,{children:"common.env"})," \u4e0e ",(0,c.jsx)(s.code,{children:"db.env"})," \u4e2d\u3002\u4efb\u4f55\u80fd\u8bfb\u53d6\u8fd9\u4e9b\u6587\u4ef6\u7684\u4eba\u5373\u53ef\u83b7\u5f97\u540e\u7aef\u5b8c\u5168\u63a7\u5236\u6743\u3002"]})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u4fdd\u62a4\u843d\u76d8\u7684\u660e\u6587\u51ed\u636e\uff0c\u5e76\u63d0\u5347\u5f31\u5bc6\u94a5\u5f3a\u5ea6\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"61-\u6536\u7d27\u51ed\u636e\u6587\u4ef6\u6743\u9650",children:"6.1 \u6536\u7d27\u51ed\u636e\u6587\u4ef6\u6743\u9650"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"cd /opt/bk-lite\n# \u4ec5 root \u53ef\u8bfb\u5199\nchmod 600 common.env db.env port.env .env 2>
1/dev/null\nchown root:root common.env db.env port.env .env 2>/dev/null\n\n# \u8bc1\u4e66\u79c1\u94a5\u540c\u6837\u6536\u7d27\nchmod 600 conf/certs/*.key conf/traefik/certs/*.key 2>/dev/null\n"})}),"\n",(0,c.jsx)(s.h3,{id:"62-\u6838\u67e5\u4e0e\u8f6e\u6362\u5bc6\u94a5",children:"6.2 \u6838\u67e5\u4e0e\u8f6e\u6362\u5bc6\u94a5"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:'# \u68c0\u67e5\u662f\u5426\u5b58\u5728\u5f31/\u77ed\u5bc6\u94a5\uff08NEXTAUTH_SECRET \u9ed8\u8ba4\u4ec5 12 \u4f4d\uff0c\u5efa\u8bae\u52a0\u957f\uff09\ngrep -E "SECRET|PASSWORD" common.env db.env\n'})}),"\n",(0,c.jsxs)(s.p,{children:["\u5982\u9700\u8f6e\u6362\u67d0\u4e2a\u53e3\u4ee4\uff1a\u4fee\u6539 ",(0,c.jsx)(s.code,{children:"common.env"})," / ",(0,c.jsx)(s.code,{children:"db.env"})," \u4e2d\u5bf9\u5e94\u503c\uff0c\u91cd\u65b0\u6267\u884c ",(0,c.jsx)(s.code,{children:"bash bootstrap.sh"})," \u91cd\u5efa\u7f16\u6392\u5e76\u91cd\u542f\u76f8\u5173\u670d\u52a1\u3002"]}),"\n",(0,c.jsx)(s.admonition,{type:"warning",children:(0,c.jsxs)(s.p,{children:["\u4fee\u6539 ",(0,c.jsx)(s.code,{children:"POSTGRES_PASSWORD"})," \u7b49\u5df2\u521d\u59cb\u5316\u7684\u6570\u636e\u5e93\u53e3\u4ee4\uff0c\u9700\u540c\u6b65\u66f4\u65b0\u6570\u636e\u5e93\u5185\u7684\u5b9e\u9645\u53e3\u4ee4\uff0c\u5426\u5219\u670d\u52a1\u5c06\u65e0\u6cd5\u8fde\u63a5\u3002\u8f6e\u6362\u524d\u8bf7\u52a1\u5fc5\u5148\u5907\u4efd\u5e76\u5728\u7ef4\u62a4\u7a97\u53e3\u64cd\u4f5c\u3002"]})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"common.env"})," / ",(0,c.jsx)(s.code,{children:"db.env"})," / ",(0,c.jsx)(s.code,{children:".env"})," \u6743\u9650\u4e3a ",(0,c.jsx)(s.code,{children:"600"}),"\uff0c\u5c5e\u4e3b\u4e3a ",(0,c.jsx)(s.code,{children:"root"}),"\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u8bc1\u4e66\u79c1\u94a5 ",(0,c.jsx)(s.code,{children:"*.key"})," \u6743\u9650\u4e3a ",(0,c.jsx)(s.code,{children:"600"}),"\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u51ed\u636e\u6587\u4ef6\u672a\u88ab\u7eb3\u5165\u4efb\u4f55\u4ee3\u7801\u4ed3\u5e93\u6216\u5907\u4efd\u5f52\u6863\u7684\u660e\u6587\u533a\u57df\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"NEXTAUTH_SECRET"})," \u7b49\u8f83\u77ed\u5bc6\u94a5\u5df2\u8bc4\u4f30\u5e76\u6309\u9700\u52a0\u957f\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"7-\u5bbf\u4e3b\u673a-ssh-\u8bbf\u95ee\u52a0\u56fa",children:"7. \u5bbf\u4e3b\u673a SSH \u8bbf\u95ee\u52a0\u56fa"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1aBK-Lite \u4f5c\u4e3a\u670d\u52a1\u5668\u5e94\u7528\u90e8\u7f72\uff0c\u5bbf\u4e3b\u673a SSH \u662f\u4e3b\u8981\u7684\u8fdc\u7a0b\u7ba1\u7406\u901a\u9053\uff0c\u9700\u91cd\u70b9\u52a0\u56fa\uff08\u800c\u975e\u7981\u7528\uff09\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:["\u7f16\u8f91 ",(0,c.jsx)(s.code,{children:"/etc/ssh/sshd_config"}),"\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u7981\u7528\u5bc6\u7801\u767b\u5f55\uff0c\u4ec5\u5141\u8bb8\u5bc6\u94a5\nPasswordAuthentication no\nPubkeyAuthentication yes\n\n# \u7981\u6b62 root \u76f4\u63a5\u767b\u5f55\nPermitRootLogin no\n\n# \u5173\u95ed\u7a7a\u53e3\u4ee4\u4e0e\u8fc7\u65f6\u534f\u8bae\nPermitEmptyPasswords no\nProtocol 2\n\n# \uff08\u53ef\u9009\uff09\u53d8\u66f4\u9ed8\u8ba4\u7aef\u53e3\u3001\u9650\u5236\u767b\u5f55\u7528\u6237\n# Port 22022\n# AllowUsers opsuser\n"})}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u6821\u9a8c\u914d\u7f6e\u5e76\u91cd\u8f7d\nsudo sshd -t && sudo systemctl reload sshd\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u4ec5\u5141\u8bb8\u5bc6\u94a5\u8ba4\u8bc1\uff0c\u7981\u7528\u5bc6\u7801\u767b\u5f55\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u7981\u6b62 root \u76f4\u63a5\u767b\u5f55\uff0c\u4f7f\u7528\u666e\u901a\u8d26\u53f7 + ",(0,c.jsx)(s.code,{children:"sudo"}),"\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u901a\u8fc7\u9632\u706b\u5899/\u5b89\u5168\u7ec4\u5c06 SSH \u9650\u5236\u4e3a\u8fd0\u7ef4\u8df3\u677f\u673a/\u53ef\u4fe1\u6765\u6e90 IP\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u542f\u7528\u767b\u5f55\u5931\u8d25\u9632\u62a4\uff08\u5982 ",(0,c.jsx)(s.code,{children:"fail2ban"}),"\uff09\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"8-tlsssl-\u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa",children:"8. TLS/SSL \u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u9ed8\u8ba4\u90e8\u7f72\u4f7f\u7528",(0,c.jsx)(s.strong,{children:"\u81ea\u7b7e\u540d\u8bc1\u4e66"}),"\uff08\u670d\u52a1\u5668\u8bc1\u4e66\u6709\u6548\u671f 825 \u5929\uff0cCA 3650 \u5929\uff09\uff0c\u4e14\u672a\u7ea6\u675f TLS \u7248\u672c\u4e0e\u52a0\u5bc6\u5957\u4ef6\u3002\u751f\u4ea7\u73af\u5883\u5e94\u66ff\u6362\u4e3a\u53d7\u4fe1\u4efb\u8bc1\u4e66\u5e76\u6536\u7d27\u534f\u8bae\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"81-\u5398\u6e05\u4e24\u7c7b\u8bc1\u4e66\u7684\u4f5c\u7528\u57df\u52a1\u5fc5\u5148\u8bfb",children:"8.1 \u5398\u6e05\u4e24\u7c7b\u8bc1\u4e66\u7684\u4f5c\u7528\u57df\uff08\u52a1\u5fc5\u5148\u8bfb\uff09"}),"\n",(0,c.jsxs)(s.p,{children:["\u90e8\u7f72\u65f6\u7531 ",(0,c.jsx)(s.code,{children:"bootstrap.sh"})," \u751f\u6210\u7684\u81ea\u7b7e\u540d CA \u4e0e\u670d\u52a1\u5668\u8bc1\u4e66\u653e\u5728 ",(0,c.jsx)(s.code,{children:"conf/certs/"}),"\uff08\u542b ",(0,c.jsx)(s.code,{children:"ca.key"}),"\u3001",(0,c.jsx)(s.code,{children:"ca.crt"}),"\u3001",(0,c.jsx)(s.code,{children:"server.key"}),"\u3001",(0,c.jsx)(s.code,{children:"server.crt"}),"\uff09\uff0c\u5b83\u88ab",(0,c.jsx)(s.strong,{children:"\u4e24\u4e2a\u5b8c\u5168\u4e0d\u540c\u7684\u7528\u9014\u5171\u7528"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"\u8bc1\u4e66\u7528\u9014"}),(0,c.jsx)(s.th,{children:"\u5b9e\u9645\u8bfb\u53d6\u4f4d\u7f6e"}),(0,c.jsx)(s.th,{children:"\u5f71\u54cd\u8303\u56f4"}),(0,c.jsx)(s.th,{children:"\u53ef\u5426\u5355\u72ec\u66ff\u6362"})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"Web/API\uff08HTTPS\uff09"})}),(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"conf/traefik/certs/"}),"\uff08",(0,c.jsx)(s.code,{children:"server.crt"})," \u526f\u672c\uff09"]}),(0,c.jsx)(s.td,{children:"\u6d4f\u89c8\u5668\u3001API \u5ba2\u6237\u7aef"}),(0,c.jsx)(s.td,{children:"\u2705 \u53ef\u5355\u72ec\u66ff\u6362"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"NATS\uff08agent \u4fe1\u4efb\u94fe\uff09"})}),(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"conf/certs/"}),"\uff08\u6302\u8f7d\u5230 NATS\uff0c\u542b ",(0,c.jsx)(s.code,{children:"ca.crt"}),"\uff09"]}),(0,c.jsx)(s.td,{children:(0,c.jsx)(s.strong,{children:"\u6240\u6709\u5df2\u90e8\u7f72\u7684\u91c7\u96c6\u5668 / Agent"})}),(0,c.jsx)(s.td,{children:"\u26a0\ufe0f \u9ad8\u5f71\u54cd\uff0c\u614e\u6539"})]})]})]}),"\n",(0,c.jsxs)(s.admonition,{title:"NATS \u8bc1\u4e66\u5f71\u54cd\u8303\u56f4\u6781\u5927",type:"danger",children:[(0,c.jsxs)(s.p,{children:["\u6240\u6709\u91c7\u96c6\u5668 / Agent \u901a\u8fc7 ",(0,c.jsx)(s.code,{children:"tls://"}
1)," \u8fde\u63a5 NATS\uff0c\u5e76",(0,c.jsxs)(s.strong,{children:["\u6821\u9a8c\u7531\u539f\u59cb\u81ea\u7b7e\u540d CA\uff08",(0,c.jsx)(s.code,{children:"conf/certs/ca.crt"}),"\uff09\u7b7e\u53d1\u7684\u670d\u52a1\u5668\u8bc1\u4e66"]}),"\uff08leafnodes \u5f00\u542f\u4e86 ",(0,c.jsx)(s.code,{children:"verify: true"}),"\uff0cAgent \u4fa7\u56fa\u5316\u4e86\u8be5 CA\uff09\u3002"]}),(0,c.jsxs)(s.p,{children:[(0,c.jsxs)(s.strong,{children:["\u5982\u679c\u7528\u300c\u975e\u539f\u59cb CA\u300d\u7b7e\u53d1\u7684\u8bc1\u4e66\u66ff\u6362 ",(0,c.jsx)(s.code,{children:"conf/certs/"})," \u4e0b\u7684\u5185\u5bb9\uff0c\u6240\u6709\u5df2\u90e8\u7f72\u7684 Agent \u4f1a\u56e0\u8bc1\u4e66\u6821\u9a8c\u5931\u8d25\u800c\u5168\u90e8\u65ad\u8fde\u3001\u4e0d\u53ef\u7528\u3002"]})," \u56e0\u6b64\u8bf7\u628a HTTPS \u8bc1\u4e66\u4e0e NATS \u8bc1\u4e66\u5206\u5f00\u5904\u7406\uff1aHTTPS \u8bc1\u4e66\u53ef\u968f\u65f6\u5355\u72ec\u66ff\u6362\uff1bNATS \u8bc1\u4e66\u9664\u975e\u7528\u539f\u59cb CA \u91cd\u65b0\u7b7e\u53d1\uff0c\u5426\u5219\u7b49\u540c\u4e8e\u4e00\u6b21\u9700\u8981\u91cd\u88c5\u5168\u90e8 Agent \u7684\u7834\u574f\u6027\u53d8\u66f4\u3002"]})]}),"\n",(0,c.jsx)(s.h3,{id:"82-\u5355\u72ec\u66ff\u6362-httpswebapi\u8bc1\u4e66\u5b89\u5168\u4e0d\u5f71\u54cd-agent",children:"8.2 \u5355\u72ec\u66ff\u6362 HTTPS\uff08Web/API\uff09\u8bc1\u4e66\uff08\u5b89\u5168\uff0c\u4e0d\u5f71\u54cd Agent\uff09"}),"\n",(0,c.jsxs)(s.p,{children:["\u628a\u4f01\u4e1a\u5185\u90e8 CA \u6216\u516c\u7f51 CA \u7b7e\u53d1\u7684\u8bc1\u4e66",(0,c.jsx)(s.strong,{children:"\u53ea\u66ff\u6362\u5230 Traefik \u7684\u8bc1\u4e66\u76ee\u5f55"}),"\uff0c\u4e0d\u8981\u52a8 ",(0,c.jsx)(s.code,{children:"conf/certs/"}),"\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"cd /opt/bk-lite\n# \u5907\u4efd\u539f HTTPS \u8bc1\u4e66\ncp -a conf/traefik/certs conf/traefik/certs.bak\n\n# \u4ec5\u66ff\u6362 Traefik \u4f7f\u7528\u7684\u8bc1\u4e66\u4e0e\u79c1\u94a5\uff08\u4fdd\u6301\u6587\u4ef6\u540d\uff09\ncp <\u4f60\u7684\u8bc1\u4e66>.crt conf/traefik/certs/server.crt\ncp <\u4f60\u7684\u79c1\u94a5>.key conf/traefik/certs/server.key\n\nchmod 600 conf/traefik/certs/server.key\ndocker compose restart traefik\n"})}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:["\u6b64\u64cd\u4f5c\u53ea\u5f71\u54cd\u6d4f\u89c8\u5668/API \u7684 HTTPS \u4f53\u9a8c\uff0c",(0,c.jsx)(s.strong,{children:"\u4e0d\u89e6\u53ca NATS \u4e0e Agent \u7684\u4fe1\u4efb\u94fe"}),"\uff0c\u53ef\u653e\u5fc3\u8fdb\u884c\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.h3,{id:"83-\u66ff\u6362-nats-\u8bc1\u4e66\u9ad8\u5f71\u54cd\u4ec5\u5728\u5fc5\u8981\u65f6",children:"8.3 \u66ff\u6362 NATS \u8bc1\u4e66\uff08\u9ad8\u5f71\u54cd\uff0c\u4ec5\u5728\u5fc5\u8981\u65f6\uff09"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.code,{children:"conf/certs/"})," \u662f NATS \u4e0e Agent \u7684\u5171\u4eab\u4fe1\u4efb\u6839\uff0c",(0,c.jsx)(s.strong,{children:"\u4e0d\u8981\u76f4\u63a5\u62f7\u5165\u5916\u90e8 CA \u7684\u8bc1\u4e66"}),"\u3002\u5982\u786e\u9700\u66f4\u6362\uff0c\u4e8c\u9009\u4e00\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.strong,{children:"\u7528\u539f\u59cb CA \u91cd\u65b0\u7b7e\u53d1\u670d\u52a1\u5668\u8bc1\u4e66\uff08\u63a8\u8350\uff09"}),"\uff1a\u4f7f\u7528\u73b0\u6709\u7684 ",(0,c.jsx)(s.code,{children:"conf/certs/ca.key"})," + ",(0,c.jsx)(s.code,{children:"ca.crt"})," \u91cd\u65b0\u7b7e\u53d1 ",(0,c.jsx)(s.code,{children:"server.crt"}),"\uff08\u4f8b\u5982\u5ef6\u957f\u6709\u6548\u671f\u6216\u66f4\u65b0 SAN\uff09\uff0cCA \u4e0d\u53d8 \u2192 Agent \u4fe1\u4efb\u94fe\u4e0d\u53d7\u5f71\u54cd\uff0c\u65e0\u9700\u91cd\u88c5 Agent\u3002"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.strong,{children:"\u6574\u4f53\u66f4\u6362 CA\uff08\u7834\u574f\u6027\uff09"}),"\uff1a\u6e05\u7406 ",(0,c.jsx)(s.code,{children:"conf/certs/"})," \u540e\u91cd\u8dd1 ",(0,c.jsx)(s.code,{children:"bootstrap.sh"})," \u91cd\u65b0\u7b7e\u53d1\uff0c",(0,c.jsx)(s.strong,{children:"\u5fc5\u987b\u540c\u6b65\u91cd\u88c5 / \u91cd\u65b0\u7eb3\u7ba1\u6240\u6709\u91c7\u96c6\u5668\u4e0e Agent"}),"\uff0c\u8bf7\u5728\u7ef4\u62a4\u7a97\u53e3\u5e76\u63d0\u524d\u901a\u77e5\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u67e5\u7
170b\u8bc1\u4e66\u6709\u6548\u671f\uff08HTTPS \u4e0e NATS \u670d\u52a1\u5668\u8bc1\u4e66\u76f8\u540c\uff09\nopenssl x509 -in conf/certs/server.crt -noout -dates -subject\n"})}),"\n",(0,c.jsx)(s.h3,{id:"84-\u6536\u7d27-tls-\u534f\u8bae\u7248\u672c\u4e0e\u52a0\u5bc6\u5957\u4ef6",children:"8.4 \u6536\u7d27 TLS \u534f\u8bae\u7248\u672c\u4e0e\u52a0\u5bc6\u5957\u4ef6"}),"\n",(0,c.jsxs)(s.p,{children:["\u7f16\u8f91 ",(0,c.jsx)(s.code,{children:"conf/traefik/dynamic.yml"}),"\uff0c\u5728 ",(0,c.jsx)(s.code,{children:"tls:"})," \u4e0b\u65b0\u589e ",(0,c.jsx)(s.code,{children:"options"}),"\uff0c\u5f3a\u5236 TLS 1.2 \u53ca\u4ee5\u4e0a\u5e76\u4f7f\u7528\u5f3a\u52a0\u5bc6\u5957\u4ef6\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-yaml",children:"tls:\n  options:\n    default:\n      minVersion: VersionTLS12\n      sniStrict: true\n      cipherSuites:\n        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n        - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305\n        - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305\n  certificates:\n    - certFile: /etc/certs/server.crt\n      keyFile: /etc/certs/server.key\n  stores:\n    default:\n      defaultCertificate:\n        certFile: /etc/certs/server.crt\n        keyFile: /etc/certs/server.key\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.code,{children:"dynamic.yml"})," \u652f\u6301\u70ed\u52a0\u8f7d\uff08",(0,c.jsx)(s.code,{children:"providers.file.watch=true"}),"\uff09\uff0c\u4fdd\u5b58\u540e\u5373\u751f\u6548\u3002\u53ef\u7528\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1\uff1a"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u5e94\u62d2\u7edd TLS 1.0/1.1\uff0c\u63a5\u53d7 TLS 1.2+\nnmap --script ssl-enum-ciphers -p 443 <HOST_IP>\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","HTTPS\uff08Web/API\uff09\u8bc1\u4e66\u5df2\u66ff\u6362\u4e3a\u53d7\u4fe1\u4efb\u8bc1\u4e66\uff0c\u4e14",(0,c.jsxs)(s.strong,{children:["\u4ec5\u6539\u52a8 ",(0,c.jsx)(s.code,{children:"conf/traefik/certs/"})]}),"\uff08\u6216\u5c06\u4f01\u4e1a\u6839 CA \u4e0b\u53d1\u5230\u5ba2\u6237\u7aef\u4fe1\u4efb\u5e93\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u672a\u7528\u975e\u539f\u59cb CA \u7684\u8bc1\u4e66\u76f4\u63a5\u8986\u76d6 ",(0,c.jsx)(s.code,{children:"conf/certs/"}),"\uff0cAgent \u8fde\u63a5\u6b63\u5e38\u672a\u4e2d\u65ad\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u6700\u4f4e TLS \u7248\u672c\u4e3a 1.2\uff0c\u7981\u7528\u5f31\u52a0\u5bc6\u5957\u4ef6\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5efa\u7acb\u8bc1\u4e66\u5230\u671f\u76d1\u63a7\uff08HTTPS \u4e0e NATS \u670d\u52a1\u5668\u8bc1\u4e66\u9ed8\u8ba4 825 \u5929\u5230\u671f\uff09\uff0c\u907f\u514d\u5230\u671f\u4e2d\u65ad\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"9-\u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66",children:"9. \u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1a\u786e\u4fdd\u5b89\u5168\u4e8b\u4ef6\u53ef\u8ffd\u6eaf\u3001\u5f02\u5e38\u53ef\u53ca\u65f6\u611f\u77e5\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"91-\u5e73\u53f0\u5185\u5ba1\u8ba1\u65e5\u5fd7",children:"9.1 \u5e73\u53f0\u5185\u5ba1\u8ba1\u65e5\u5fd7"}),"\n",(0,c.jsx)(s.p,{children:"BK-Lite\u300c\u7cfb\u7edf\u7ba1\u7406 \u2192 \u5b89\u5168\u7ba1\u7406\u300d\u5185\u7f6e\u5168\u5c40\u5ba1\u8ba1\u80fd\u529b\uff0c\u4e14\u4ee5\u53ea\u8bfb\u5f62\u5f0f\u4fdd\u969c\u9632\u7be1\u6539\uff1a"}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u767b\u5f55\u65e5\u5fd7"}),"\uff1a\u6838\u67e5\u767b\u5f55\u6765\u6e90\u4e0e\u5931\u8d25\u8bb0\u5f55\uff0c\u8bc6\u522b\u5f02\u5e38\u5730\u5740\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u64cd\u4f5c\u65e5\u5fd7"}),"\uff1a\u8ffd\u8e2a\u5173\u952e\u914d\u7f6e\u53d8\u66f4\u4e0e\u9ad8\u5371\u64cd\u4f5c\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.strong,{children:"\u5f02\u5e38\u9519\u8bef\u65e5\u5fd7"}),"\uff1a\u6392\u67e5\u7a0b\u5e8f\u7ea7\u5f02\u5e38\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5b9a\u671f\u5bfc\u51fa\u7559\u5b58\uff0c\u6ee1\u8db3\u5408\u89c4\u5ba1\u8ba1\u8981\u6c42\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.h3,{id:"92-\u914d\u7f6e\u544a\u8b66\u901a\u77e5",children:"9.2 \u914d\u7f6e\u544a\u8b66\u901a\u77e5"}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5728\u300c\u7cfb\u7edf\u7ba1\u7406 \u2192 \u901a\u77e5\u6e20\u9053\u300d\u914d\u7f6e\u4f01\u4e1a\u5fae\u4fe1/\u9489\u9489/\u98de\u4e66\u673a\u5668\u4eba\u6216\u81ea\u5b9a\u4e49 Webhook\uff08\u654f\u611f\u51ed\u636e\u7531\u5e73\u53f0\u52a0\u5bc6\u63a5\u7ba1\uff09\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5728\u544a\u8b66\u4e2d\u5fc3\u914d\u7f6e\u9762\u5411\u5b89\u5168\u7684\u544a\u8b66\u7b56\u7565\uff08\u5982\u767b\u5f55\u5931\u8d25\u6fc0\u589e\u3001\u5173\u952e\u670d\u52a1\u4e0d\u53ef\u7528\uff09\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.h3,{id:"93-\u57fa\u7840\u8bbe\u65bd\u5c42\u65e5\u5fd7",children:"9.3 \u57fa\u7840\u8bbe\u65bd\u5c42\u65e5\u5fd7"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u5165\u53e3\u8bbf\u95ee\u65e5\u5fd7\uff08Traefik \u5df2\u542f\u7528 accesslog\uff09\ndocker compose logs -f traefik\n\n# \u5173\u952e\u670d\u52a1\u65e5\u5fd7\ndocker compose logs -f server\n"})}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u767b\u5f55/\u64cd\u4f5c/\u5f02\u5e38\u65e5\u5fd7\u5747\u5f00\u542f\u5e76\u5b9a\u671f\u5ba1\u9605\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5b89\u5168\u76f8\u5173\u544a\u8b66\u5df2\u914d\u7f6e\u5e76\u9a8c\u8bc1\u53ef\u9001\u8fbe\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5bbf\u4e3b\u673a\u4e0e\u5bb9\u5668\u65e5\u5fd7\u7eb3\u5165\u7559\u5b58\u7b56\u7565\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"docker-daemon",children:"10. Docker \u5b88\u62a4\u8fdb\u7a0b\u52a0\u56fa\uff08daemon.json\uff09"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u76ee\u7684"}),"\uff1aBK-Lite \u7684\u6240\u6709\u7ec4\u4ef6\u90fd\u8fd0\u884c\u5728 Docker \u4e4b\u4e0a\uff0c\u5b88\u62a4\u8fdb\u7a0b\uff08dockerd\uff09\u7684\u9ed8\u8ba4\u914d\u7f6e\u504f\u5411\u6613\u7528\u800c\u975e\u5b89\u5168\u3002\u901a\u8fc7 ",(0,c.jsx)(s.code,{children:"/etc/docker/daemon.json"})," \u6536\u7d27\u5f15\u64ce\u5c42\u57fa\u7ebf\uff0c\u53ef\u540c\u65f6\u7f13\u89e3\u6743\u9650\u63d0\u5347\u3001\u65e5\u5fd7\u6491\u7206\u78c1\u76d8\u3001Docker API \u66b4\u9732\u7b49\u98ce\u9669\u3002"]}),"\n",(0,c.jsx)(s.h3,{id:"101-\u63a8\u8350\u7684-daemonjson",children:"10.1 \u63a8\u8350\u7684 daemon.json"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-json",children:'{\n  "live-restore": true,\n  "no-new-privileges": true,\n  "icc": false,\n  "userland-proxy": false,\n  "log-driver": "json-file",\n  "log-opts": {\n    "max-size": "100m",\n    "max-file": "5"\n  },\n  "default-ulimits": {\n    "nofile": {\n      "Name": "nofile",\n      "Hard": 65536,\n      "Soft": 65536\n    }\n  },\n  "storage-driver": "overlay2"\n}\n'})}),"\n",(0,c.jsx)(s.p,{children:"\u5404\u9879\u542b\u4e49\u4e0e\u5bf9 BK-Lite \u7684\u5f71\u54cd\uff1a"}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"\u914d\u7f6e"}),(0,c.jsx)(s.th,{children:"\u4f5c\u7528"}),(0,c.jsx)(s.th,{children:"\u8bf4\u660e"})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"live-restore"})}),(0,c.jsx)(s.td,{children:"\u5b88\u62a4\u8fdb\u7a0b\u91cd\u542f/\u5347\u7ea7\u65f6\u5bb9\u5668\u4fdd\u6301\u8fd0\u884c"}),(0,c.jsx)(s.td,{children:"\u63d0\u5347\u53ef\u7528\u6027\uff0c\u540e\u7eed\u91cd\u542f dockerd \u4e0d\u518d\u4e2d\u65ad BK-Lite \u670d\u52a1"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"no-new-privileges"})}),(0,c.jsx)(s.td,{children:"\u5168\u5c40\u7981\u6b62\u5bb9\u5668\u5185\u8fdb\u7a0b\u63d0\u6743\uff08setuid \u7b49\uff09"}),(0,c.jsxs)(s.td,{children:["\u9ed8\u8ba4\u5b89\u5168\u57fa\u7ebf\uff0c",(0,c.jsxs)(s.strong,{children:["\u5e94\u7528\u540e\u52a1\u5fc5\u9a8c\u8bc1\u5404\u670d\u52a1 ",(0,c.jsx)(s.code,{children:"healthy"})]})]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"icc"})}),(0,c.jsx)(s.td,{children:"\u5173\u95ed\u9ed8\u8ba4 bridge \u7f51\u7edc\u7684\u5bb9\u5668\u4e92\u901a"}),(0,c.jsxs)(s.td,{children:["BK-Lite \u4f7f\u7528\u81ea\u5b9a\u4e49 ",(0,c.jsx)(s.code,{children:"prod"})," \u7f51\u7edc\uff0c",(0,c.jsx)(s.strong,{children:"\u4e0d\u53d7\u5f71\u54cd"}),"\uff0c\u53ef\u5b89\u5168\u5f00\u542f"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"userland-proxy"})}),(0,c.jsx)(s.td,{children:"\u5173\u95ed\u7528\u6237\u6001\u7aef\u53e3\u4ee3\u74
106\uff0c\u6539\u8d70 iptables"}),(0,c.jsxs)(s.td,{children:["\u4e0e",(0,c.jsx)(s.a,{href:"#3-%E6%9A%B4%E9%9C%B2%E9%9D%A2%E6%94%B6%E6%95%9B%E7%AB%AF%E5%8F%A3%E5%8A%A0%E5%9B%BA",children:"\u7b2c 3 \u8282\u9632\u706b\u5899"}),"\u914d\u5408\uff0c\u7aef\u53e3\u8f6c\u53d1\u66f4\u76f4\u63a5"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsxs)(s.td,{children:[(0,c.jsx)(s.code,{children:"log-driver"})," / ",(0,c.jsx)(s.code,{children:"log-opts"})]}),(0,c.jsx)(s.td,{children:"\u9650\u5236\u5355\u5bb9\u5668\u65e5\u5fd7\u5927\u5c0f\u4e0e\u6eda\u52a8\u6570\u91cf"}),(0,c.jsx)(s.td,{children:"\u9632\u6b62\u5bb9\u5668\u65e5\u5fd7\u5199\u6ee1\u78c1\u76d8\uff08\u9ed8\u8ba4\u65e0\u4e0a\u9650\uff09"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"default-ulimits"})}),(0,c.jsx)(s.td,{children:"\u63d0\u5347\u6587\u4ef6\u53e5\u67c4\u4e0a\u9650"}),(0,c.jsxs)(s.td,{children:["\u907f\u514d\u9ad8\u5e76\u53d1\u4e0b\u56e0 ",(0,c.jsx)(s.code,{children:"nofile"})," \u4e0d\u8db3\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25"]})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:(0,c.jsx)(s.code,{children:"storage-driver"})}),(0,c.jsxs)(s.td,{children:["\u663e\u5f0f\u4f7f\u7528 ",(0,c.jsx)(s.code,{children:"overlay2"})]}),(0,c.jsx)(s.td,{children:"\u73b0\u4ee3\u5185\u6838\u63a8\u8350\u7684\u7a33\u5b9a\u5b58\u50a8\u9a71\u52a8"})]})]})]}),"\n",(0,c.jsx)(s.h3,{id:"102-\u5e94\u7528\u914d\u7f6e",children:"10.2 \u5e94\u7528\u914d\u7f6e"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:'# \u521b\u5efa/\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\nsudo mkdir -p /etc/docker\nsudo vi /etc/docker/daemon.json     # \u5199\u5165\u4e0a\u8ff0\u5185\u5bb9\n\n# \u6821\u9a8c JSON \u5408\u6cd5\u6027\npython3 -m json.tool /etc/docker/daemon.json >/dev/null && echo "JSON OK"\n\n# \u91cd\u542f Docker \u4f7f\u914d\u7f6e\u751f\u6548\nsudo systemctl restart docker\n'})}),"\n",(0,c.jsx)(s.admonition,{title:"\u9996\u6b21\u5e94\u7528\u8bf7\u5728\u7ef4\u62a4\u7a97\u53e3\u64cd\u4f5c",type:"warning",children:(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.code,{children:"live-restore"})," \u53ea\u6709\u5728\u300c\u5df2\u751f\u6548\u540e\u300d\u7684\u4e0b\u4e00\u6b21 dockerd \u91cd\u542f\u624d\u4f1a\u4fdd\u7559\u5bb9\u5668\uff1b",(0,c.jsx)(s.strong,{children:"\u9996\u6b21\u5199\u5165\u5e76\u91cd\u542f Docker \u65f6\u5bb9\u5668\u4ecd\u4f1a\u88ab\u91cd\u542f"}),"\u3002\u8bf7\u5728\u7ef4\u62a4\u7a97\u53e3\u6267\u884c\uff0c\u5e76\u5728\u91cd\u542f\u540e\u786e\u8ba4\u670d\u52a1\u6062\u590d\u3002"]})}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u9a8c\u8bc1\u5173\u952e\u9879\u5df2\u751f\u6548\ndocker info --format 'LiveRestore={{.LiveRestoreEnabled}}'\n# \u786e\u8ba4 BK-Lite \u5404\u670d\u52a1\u6062\u590d\u5065\u5eb7\ncd /opt/bk-lite && docker compose ps --format \"table {{.Name}}\\t{{.Status}}\"\n"})}),"\n",(0,c.jsx)(s.h3,{id:"103-\u6ce8\u610f\u4e8b\u9879",children:"10.3 \u6ce8\u610f\u4e8b\u9879"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsxs)(s.strong,{children:["\u4e0d\u8981\u5f00\u542f ",(0,c.jsx)(s.code,{children:"userns-remap"})]}),"\uff1a\u5b83\u4f1a\u6539\u53d8\u6302\u8f7d\u6587\u4ef6\u7684\u5c5e\u4e3b\u6620\u5c04\uff0c\u5bfc\u81f4 Traefik \u6302\u8f7d\u7684 ",(0,c.jsx)(s.code,{children:"/var/run/docker.sock"})," \u4ee5\u53ca root \u5c5e\u4e3b\u7684 ",(0,c.jsx)(s.code,{children:"conf/"})," \u914d\u7f6e\u4e0e\u8bc1\u4e66\u65e0\u6cd5\u8bfb\u53d6\uff0cBK-Lite \u5c06\u542f\u52a8\u5931\u8d25\u3002"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.strong,{children:"\u4e0d\u8981\u5c06 Docker API \u66b4\u9732\u5230 TCP"}),"\uff1a\u4fdd\u6301\u9ed8\u8ba4\u7684 Unix Socket\uff08",(0,c.jsx)(s.code,{children:"/var/run/docker.sock"}),"\uff09\uff0c\u5207\u52ff\u5728 ",(0,c.jsx)(s.code,{children:"daemon.json"})," \u4e2d\u914d\u7f6e ",(0,c.jsx)(s.code,{children:'"hosts": ["tcp://0.0.0.0:2375"]'}),"\u3002\u5982\u786e\u9700\u8fdc\u7a0b\u7ba1\u7406\uff0c\u5fc5\u987b\u542f\u7528 TLS \u53cc\u5411\u8ba4\u8bc1\u3002"]}),"\n",(0,c.jsxs)(s.li,{children:["\u82e5\u5f00\u542f ",(0,c.jsx)(s.code,{children:"no-new-privileges"})," \u540e\u67d0\u4e2a\u670d\u52a1\u65e0\u6cd5\u542f\u52a8\uff0c\u53ef\u5728\u8be5\u670d\u52a1\u7684 compose \u5b9a\u4e49\u4e2d\u5355\u72ec\u901a\u8fc7 ",(0,c.jsx)(s.code,{children:"security_opt"})," \u653e\u5f00\uff0c\u800c\u975e\u5168\u5c40\u5173\u95ed\u3002"]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"\u6838\u67e5\u8981\u70b9"}),"\uff1a"]}),"\n",(0,c.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"/etc/docker/daemon.json"})," \u5df2\u5199\u5165\u5e76\u901a\u8fc7 JSON \u6821\u9a8c\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ",(0,c.jsx)(s.code,{children:"docker info"})," \u663e\u793a ",(0,c.jsx)(s.code,{children:"LiveRestore=true"}),"\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","\u5e94\u7528\u914d\u7f6e\u540e\u6240\u6709 BK-Lite \u670d\u52a1 ",(0,c.jsx)(s.code,{children:"healthy"}),"\u3002"]}),"\n",(0,c.jsxs)(s.li,{className:"task-list-item",children:[(0,c.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Docker API \u672a\u901a\u8fc7 TCP \u5bf9\u5916\u66b4\u9732\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h2,{id:"\u52a0\u56fa\u5b8c\u6210\u6838\u67e5\u8868",children:"\u52a0\u56fa\u5b8c\u6210\u6838\u67e5\u8868"}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"\u52a0\u56fa\u9879"}),(0,c.jsx)(s.th,{children:"\u72b6\u6001"}),(0,c.jsx)(s.th,{children:"\u8d1f\u8d23\u4eba"}),(0,c.jsx)(s.th,{children:"\u5b8c\u6210\u65e5\u671f"})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"1. \u7248\u672c\u5347\u7ea7\u4e0e\u955c\u50cf\u66f4\u65b0"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"2. \u7f51\u7edc\u8fde\u63a5\u4e0e\u8bbf\u95ee\u5165\u53e3\u68c0\u67e5"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"3. \u66b4\u9732\u9762\u6536\u655b\uff08\u7aef\u53e3\u52a0\u56fa\uff09"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"4. \u5bbf\u4e3b\u673a\u4e0e\u4f9d\u8d56\u8865\u4e01\u66f4\u65b0"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"5. \u7ba1\u7406\u5458\u8d26\u6237\u52a0\u56fa"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"6. \u654f\u611f\u51ed\u636e\u4e0e\u5bc6\u94a5\u4fdd\u62a4"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"7. \u5bbf\u4e3b\u673a SSH \u8bbf\u95ee\u52a0\u56fa"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"8. TLS/SSL \u534f\u8bae\u4e0e\u8bc1\u4e66\u52a0\u56fa"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"9. \u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e0e\u544a\u8b66"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"10. Docker \u5b88\u62a4\u8fdb\u7a0b\u52a0\u56fa"}),(0,c.jsx)(s.td,{children:"\u2610"}),(0,c.jsx)(s.td,{}),(0,c.jsx)(s.td,{})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"\u83b7\u53d6\u5e2e\u52a9",children:"\u83b7\u53d6\u5e2e\u52a9"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"/docs/operations/",children:"\u8fd0\u7ef4\u624b\u518c\u9996\u9875"})}),"\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"/docs/operations/backup-restore",children:"\u5907\u4efd\u4e0e\u8fd8\u539f"})}),"\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"/docs/deploy/docker-compose",children:"\u7cfb\u7edf\u90e8\u7f72\u6307\u5357"})}),"\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"https://github.com/TencentBlueKing/bk-lite/issues",children:"GitHub Issues"})}),"\n"]})]})}function j(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(x,{...e})}):x(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.