UNPKG

@arcblock/abtnode-docs

Version:

ABT Node Documentation, a help documentation for quickly get started with ABT Node.

1 lines 22.2 kB
{"componentChunkName":"component---node-modules-arcblock-gatsby-theme-docs-src-templates-documentation-js","path":"/zh/deployment/behind-reverse-proxy","result":{"data":{"file":{"changeTime":"5 minutes ago","childMarkdownRemark":{"frontmatter":{"author":"zhenqiang","category":"","date":null,"description":"运行在反向代理","draft":null,"keywords":"abtnode,deployment,proxy","language":"zh","layout":"documentation","path":"/zh/deployment/behind-reverse-proxy","tags":["forge"],"title":"运行在反向代理"},"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"因为 ABT 节点可能会包含多个 Blocklet, 而几乎每个 Blocklet 都需要至少一个端口(静态 Blocklet 不需要), 所以 ABT 节点和 Blocklet 会需要多个端口,所以生产环境下往往需要和反向代理服务器一起部署。\n该文档将以 Nginx 为例介绍如何和反向代理服务器一起部署 ABT 节点, 同时给 ABT Node Daemon 和 一个 Blocklet 分别绑定了一个域名。"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"alert","properties":{"type":"warning"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"确保安装了最新版的 ABT 节点"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"准备条件","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#%E5%87%86%E5%A4%87%E6%9D%A1%E4%BB%B6","ariaLabel":"准备条件 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"准备条件"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"运行在 8089 端口的 ABT Node Daemon 服务"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"运行在 8090 端口的 Blocklet Manager Blocklet"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"代理服务器: Nginx"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"两个域名"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"ABT Node: abtnode.com"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Blocklet Manager Blocklet: blocklet.abtnode.com"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"nginx-配置","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#nginx-%E9%85%8D%E7%BD%AE","ariaLabel":"nginx 配置 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Nginx 配置"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"例子:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"server {\n listen 80;\n server_name abtnode.com;\n\n location / {\n proxy_pass http://127.0.0.1:8089;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n }\n}\nserver {\n listen 80;\n server_name blocklet.abtnode.com;\n\n location / {\n proxy_pass http://127.0.0.1:8090;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n }\n}\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"该配置将域名 "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"abtnode.com"}]},{"type":"text","value":" 并定在 8089 端口, 域名 "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"blocklet.abtnode.com"}]},{"type":"text","value":" 版绑定在 8090 端口。\n同时需要注意,需要将 Host 头部通过代理服务器传递给上游的服务。"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"更新-abt-节点配置","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#%E6%9B%B4%E6%96%B0-abt-%E8%8A%82%E7%82%B9%E9%85%8D%E7%BD%AE","ariaLabel":"更新 abt 节点配置 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"更新 ABT 节点配置"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"配置好代理后,需要修改 ABT 节点的配置文件, 将 ABT 节点的域名更新到配置文件中:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["language-yaml"],"name:":"","'ABT":"","Node":"","[polunzh]'":""},"children":[{"type":"text","value":"node:\n name: 'ABT Node [polunzh]'\n description: Container of useful blocklets from ArcBlock and its Developer Community\n sk: >-\n 0x4000d4f04d39c700003838f04e0eb7c4006a841a2f12ed762b577b2c8ab07acbe63acb6d74f30db68cbec0977d1398ee40af85d62647624969fb7eae832348f9\n pk: '0xe63acb6d74f30db68cb0c0907d1398ee40af85d62647624969fb7eae832348f9'\n did: zNKmYKcs84YViFyocUJKMJ5HRw001oH1K2y2\n dataDir: /home/demo/.abtnode\n domain: 'abtnode.com'\n ip: 192.168.0.1\n port: 8089\n https: true\n secret: '0xa5cd176753101e5f12e604b6a741fed382c19ecfe45cd9d32a5d231404b41f23'\n owner:\n pk: ''\n did: ''\nblocklet:\n port: 8089\n registry: 'https://blocklet.arcblock.io'\n owner:\n pk: ''\n did: ''\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"alert","properties":{"type":"success"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"如果启用了 HTTPS, 需要将配置文件中的 "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"https"}]},{"type":"text","value":" 属性设置为 "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"true"}]},{"type":"text","value":". 如上面的配置文件。"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"修改好后配置文件,需要重启 ABT 节点节点并更新配置,可以通过 ABT 节点 CLI 命令重启:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"abtnode start -u\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"重启服务后就可以使用域名正常访问节点了。"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"配置-blocklet-的域名","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#%E9%85%8D%E7%BD%AE-blocklet-%E7%9A%84%E5%9F%9F%E5%90%8D","ariaLabel":"配置 blocklet 的域名 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"配置 Blocklet 的域名"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"在 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Blocklets -> 详情 -> 配置"}]},{"type":"text","value":" 页面可以配置该 Blocklet 的域名,填写域名后点击保存,然后"},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"重启 Blocklet"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1000px; "},"children":[{"type":"text","value":"\n "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 48%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAABMklEQVQoz32Sy07DUAxE8/9fwoayYtN+BQJRUAGhLiDNs8l92EkqBvumidoQsjiyNL6ejK1Ex6pCVdc4CpVzMIInAjcNiPkK1aea4rwXD4PvOEakj7quQynGhyIPxrUxsM6LAc+aan/ASgDnCU3LSNIUUSVi07Y4pAk+93vkRRkaSZrJgCS2FlYSaNUkWZ6HflGW8rYI26muG+lMVHsHkiQqMGvDo2kowKzr26CroZJmWaiXJxlOFAy1qXHz0uNhW+Px1WD7TmcYLx+Mpx0hThlty6ORmlwyGuoN2o7xlRBWG8btmgJ3m76u1h439x7Pb4TTicK9ehOeT2idDSLLivhxPfACCzTSdWI2SaVhhtteJRy+YlyPVTz39YyjIQ0vrzwIc7/HEtO3fwznBv4bXkr4CylwAN5zlm38AAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"blocklet domain setting","title":"blocklet domain setting","src":"/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/ea415/blocklet-domain-setting.png","srcSet":["/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/41b2e/blocklet-domain-setting.png 250w","/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/36a81/blocklet-domain-setting.png 500w","/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/ea415/blocklet-domain-setting.png 1000w","/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/5dce9/blocklet-domain-setting.png 1500w","/abtnode/static/467ae7b45dbc33216c15cfbe351f9e8c/edb3f/blocklet-domain-setting.png 1722w"],"sizes":["(max-width:","1000px)","100vw,","1000px"],"style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;","loading":"lazy"},"children":[]},{"type":"text","value":"\n "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"alert","properties":{"type":"warning"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"重启 Blocklet 才会使修改的域名生效"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"其它","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#%E5%85%B6%E5%AE%83","ariaLabel":"其它 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"其它"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"可以在 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Blocklets -> 详情 -> 环境变量"}]},{"type":"text","value":" 页面找到 Blocklet 运行时所有的环境变量, 比如端口、当前的域名、IP 等等."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1000px; "},"children":[{"type":"text","value":"\n "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 109.2%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAABzUlEQVQ4y4WU2ZKCQAxF/f9vnJoqsBwWBZEdfejJaYn0AjMPqWgnuZ3cG/o0zbMZp8na8nya5fUynM3LYm2ap09cjbjaO2f7f1JAfNN1pm5b0/a96eR3P44Sm70Cze/IEWslDz/Y3GkDpLvkfDZf39+mut9NURSmKG+S/O6KAi3sh8Fcbzdzqyrra8kH2APEaJ8ABdgwiheQh3SNpXJhVdefeNi1B4gHjIJ706xJ/qhM4XLm8hqNjOeQAgrdAn4zbi2XkRPG8EwQAdoi4QNzC9W/aRgPFY9UVtUodJNVVR15Wyn/Qr9DSVDi4ZACN7m8Xk0lqsIxVq/ihFxGouSyLowc8gRAUZamXK15PKJxo5Hp8HK52P0KAdm3LM/thXgVSFdIaTqFSnI7wCHgT5aZJEmsnYUWLrUCOhRwQdQhySQqhxrLpStAdU9dcVyRIpUhf1vsDRDOLLfrFxU+GLuiAEghgHsL/Ncro7keIMTCzd466Bbo4jM6DYQ5UYeshgsYcozK0MLFlQojFgEyAuOmaWqBQ0DiKJmJMG783w5RU5c2TKZDfUBCXg9FYWndxfZe9FXp8PzwSzl6UfbevaPzXUAF3RtbH173DSVfFf8FoTijswAWj18AAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"blocklet domain setting","title":"blocklet domain setting","src":"/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/ea415/blocklet-environments.png","srcSet":["/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/41b2e/blocklet-environments.png 250w","/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/36a81/blocklet-environments.png 500w","/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/ea415/blocklet-environments.png 1000w","/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/5dce9/blocklet-environments.png 1500w","/abtnode/static/eafe10f67f7484aa7a779bbadab7dfd9/869ae/blocklet-environments.png 1585w"],"sizes":["(max-width:","1000px)","100vw,","1000px"],"style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;","loading":"lazy"},"children":[]},{"type":"text","value":"\n "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"注意事项","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9","ariaLabel":"注意事项 permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"注意事项"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"当前只能通过手动修改节点的配置文件来修改节点的 IP, 域名"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"如果启用了 HTTPS, 那么需要将 ABT Node Daemon 和所有的 Blocklet 都启用 HTTPS"}]},{"type":"text","value":"\n"}]}],"data":{"quirksMode":false}}}}},"pageContext":{"site":{"title":"ABT Node","description":"ABT Node Documentation","siteUrl":"https://docs.arcblock.io","logoUrl":"/abtnode/","sidebarWidth":360,"disableI18n":false,"showGetStarted":true,"defaultBanner":"/abtnode/og-banner.png"},"id":"0f7dc266-a028-5877-8dfe-4e11d1d49260","language":"zh","locale":"zh","languages":[{"value":"en","text":"English"},{"value":"zh","text":"简体中文"}],"headings":[{"value":"准备条件","depth":2},{"value":"Nginx 配置","depth":2},{"value":"更新 ABT 节点配置","depth":2},{"value":"配置 Blocklet 的域名","depth":2},{"value":"其它","depth":2},{"value":"注意事项","depth":2}],"navItems":[{"group":"/home/runner/work/abtnode-docs/abtnode-docs/src","title":"ABT Node","priority":999,"link":"/"}],"version":"v0.2.20","official":true,"originalPath":"/zh/deployment/behind-reverse-proxy","sidebarContent":[{"url":null,"title":null,"pages":[{"title":"ABT Node 文档","path":"/zh/"}]},{"url":"/zh/introduction","title":"节点入门","pages":[{"title":"节点功能概览","path":"/zh/introduction/abtnode-overview"},{"title":"如何获取 ABT 节点","path":"/zh/introduction/abtnode-setup"},{"title":"配置并启动 ABT 节点","path":"/zh/introduction/abtnode-access"}]},{"url":"/zh/marketplace","title":"应用市场","pages":[{"title":"查找和安装 Blocklet","path":"/zh/marketplace/find-and-install"},{"title":"升级或降级 Blocklet","path":"/zh/marketplace/upgrade-downgrade"}]},{"url":"/zh/blocklet","title":"应用管理","pages":[{"title":"基本管理操作","path":"/zh/blocklet/basic-operations"},{"title":"环境变量管理","path":"/zh/blocklet/environments"},{"title":"核心 Blocklets","path":"/zh/blocklet/core-blocklets"}]},{"url":"/zh/router","title":"路由管理","pages":[{"title":"什么是路由","path":"/zh/router/what-is-router"},{"title":"路由的基本用法","path":"/zh/router/basic-usage"},{"title":"给站点绑定域名以及启用 SSL","path":"/zh/router/bind-domain-and-ssl"},{"title":"localhost 证书","path":"/zh/router/certificates-for-localhost"}]},{"url":"/zh/deployment","title":"生产环境指南","pages":[{"title":"部署最佳实践","path":"/zh/deployment/best-practice"},{"title":"在 AWS 上部署","path":"/zh/deployment/from-aws-ami"},{"title":"运行在反向代理","path":"/zh/deployment/behind-reverse-proxy"},{"title":"在 Docker 中运行","path":"/zh/deployment/run-in-docker"}]},{"url":"/zh/misc","title":"其他功能","pages":[{"title":"节点配置","path":"/zh/misc/node-settings"},{"title":"成员管理","path":"/zh/misc/member-management"},{"title":"GraphQL 试验台","path":"/zh/misc/graphql-console"}]},{"url":"/zh/developer","title":"开发者指南","pages":[{"title":"配置开发环境","path":"/zh/developer/config-dev-env"},{"title":"ABT 节点 cli 工具","path":"/zh/developer/abtnode-cli"},{"title":"节点配置","path":"/zh/developer/configuration"},{"title":"节点存储目录详解","path":"/zh/developer/storage-structure"},{"title":"Blocklet 规范","path":"/zh/developer/blocklet-spec"},{"title":"创建静态 Blocklets","path":"/zh/developer/static-blocklets"},{"title":"创建 DApp Blocklets","path":"/zh/developer/dapp-blocklets"},{"title":"Blocklet 生命周期钩子","path":"/zh/developer/blocklet-hooks"},{"title":"打包 Blocklet","path":"/zh/developer/bundle-blocklets"},{"title":"发布 Blocklet","path":"/zh/developer/publish-blocklets"},{"title":"Blocklet 仓库","path":"/zh/developer/blocklet-registry"},{"title":"在 Codespaces 中开发 Blocklets","path":"/zh/developer/blocklet-codespaces"},{"title":"为 Blocklet 配置 Auth Service","path":"/zh/developer/auth-service"},{"title":"可组合的 Blocklet","path":"/zh/developer/composable-blocklet"},{"title":"Docker 镜像源列表","path":"/zh/developer/docker-registry"}]}],"communityPath":"https://community.arcblockio.cn","githubUrl":"https://github.com/ArcBlock/abtnode-docs/tree/master/src/deployment/behind-reverse-proxy/index.zh.md"}},"staticQueryHashes":["1358860651","1619896071","1812186216","2194038815"]}