@arcblock/abtnode-docs
Version:
ABT Node Documentation, a help documentation for quickly get started with ABT Node.
1 lines • 31.6 kB
JSON
{"componentChunkName":"component---node-modules-arcblock-gatsby-theme-docs-src-templates-documentation-js","path":"/en/misc/generate-wildcard-https-certificate","result":{"data":{"file":{"changeTime":"5 minutes ago","childMarkdownRemark":{"frontmatter":{"author":"zhenqiang","category":"","date":null,"description":"Generate wildcard HTTPS certificate","draft":null,"keywords":"https","language":"en","layout":"documentation","path":"/en/misc/generate-wildcard-https-certificate","tags":["abtnode"],"title":"Generate wildcard HTTPS certificate"},"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you need to configure a subdomain for each Blocklet, and they are all under the same second-level domain name. Then you can generate wildcard certificates for these subdomains. For example, if the second-level domain names of our Blocklets are all "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"arcblockio.cn"}]},{"type":"text","value":", then we can generate a certificate with the domain name "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"*.arcblockio.cn"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This article describes how to use "},{"type":"element","tagName":"a","properties":{"href":"https://certbot.eff.org/"},"children":[{"type":"text","value":"Certbot"}]},{"type":"text","value":" and Alibaba Cloud DNS to generate a "},{"type":"element","tagName":"a","properties":{"href":"https://letsencrypt.org/"},"children":[{"type":"text","value":"Let’s Encrypt’s"}]},{"type":"text","value":" wildcard certificate in CentOS."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"note","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#note","ariaLabel":"note 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":"Note"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"*.arcblockio.cn"}]},{"type":"text","value":" will only match domain names like this:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"a.arcblockio.cn"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"b.arcblockio.cn"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Will not match domain names like these:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"c.a.arcblockio.cn"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"d.a.arcblockio.cn"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"install-certbot","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#install-certbot","ariaLabel":"install certbot 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":"Install Certbot"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Because there is no Alibaba Cloud DNS in the official plugin list of Certbot, only certbot is installed here, and DNS needs to be configured manually."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["language-bash"],"yum":"","install":"","certbot":""},"children":[{"type":"text","value":"sudo yum install certbot\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Installation methods for other platforms can be found on "},{"type":"element","tagName":"a","properties":{"href":"https://certbot.eff.org/"},"children":[{"type":"text","value":"Official Website"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"manually-generate-a-certificate","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#manually-generate-a-certificate","ariaLabel":"manually generate a certificate 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":"Manually generate a certificate"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"We choose to generate a separate certificate instead of directly binding to the web service, so we need to specify "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"certonly"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"--manual"}]},{"type":"text","value":" on the command line:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"1-execute-the-command","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#1-execute-the-command","ariaLabel":"1 execute the command 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":"1. Execute the command"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["language-bash"],"certbot":"","certonly":"","--manual":"","-d'*.arcblockio.cn'":"","-d":"","arcblockio.cn":"","--preferred-challenges":"","dns-01":"","--server":"","https://acme-v02.api.letsencrypt.org/directory":""},"children":[{"type":"text","value":"sudo certbot certonly --manual -d'*.arcblockio.cn' -d arcblockio.cn --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"-d"}]},{"type":"text","value":": Two values are specified here: "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"*.arcblockio.cn, arcblockio.cn"}]},{"type":"text","value":", if only "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"*.arcblockio.cn"}]},{"type":"text","value":" is set, then the domain name "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"www.arcblockio.cn"}]},{"type":"text","value":" will not take effect"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"--preferred-challenges"}]},{"type":"text","value":": process domain name authentication using dns"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"--server"}]},{"type":"text","value":": Let's Encrypt's production server is used by default. If it is a test and there are more certificates generated, you can use this parameter to specify the test server: "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"--server https://acme-staging-v02 .api.letsencrypt.org/directory"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"2-enter-the-email-address-to-receive-updates-and-security-notifications","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#2-enter-the-email-address-to-receive-updates-and-security-notifications","ariaLabel":"2 enter the email address to receive updates and security notifications 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":"2. Enter the email address to receive updates and security notifications"}]},{"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: 920px; "},"children":[{"type":"text","value":"\n "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 19.2%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAy0lEQVQY001O6Q6CYAzjYTwBjVGRWxTh4/ADxTtR3/8x6jZj4o+mTbd1NVR5Rl502OUHbNKGoJFs9yjrC7wgJ61Fy5x0tK5EV/srVHlCnNQI4xIRwXFTGIrCan2VpSAqkGat6KKiR6oT/oEDMnXEfJlgOoswm69FW7aH/nCB4diB0bQP6OaO7vyCbu84Xd44dk85ZI8faNrhwFrfxF84W/ihosAYvcE3aGSuBMZv4PqZ1OaW7PGSNfEwtlxiX9i0GR7saUANQ/H/wxgfZJ6LYQWJwjMAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"email","title":"email","src":"/abtnode/static/9f2b2293ccfe9b5b5401cb4f0df95469/7132d/email.png","srcSet":["/abtnode/static/9f2b2293ccfe9b5b5401cb4f0df95469/41b2e/email.png 250w","/abtnode/static/9f2b2293ccfe9b5b5401cb4f0df95469/36a81/email.png 500w","/abtnode/static/9f2b2293ccfe9b5b5401cb4f0df95469/7132d/email.png 920w"],"sizes":["(max-width:","920px)","100vw,","920px"],"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":"h3","properties":{"id":"3-agree-to-the-agreement","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#3-agree-to-the-agreement","ariaLabel":"3 agree to the agreement 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":"3. Agree to the agreement"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Need to agree to some agreements:"}]},{"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: 910px; "},"children":[{"type":"text","value":"\n "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 80.4%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAACOUlEQVQ4y4VU2ZLaQAz0xyQsu9yHMZcx2GBjfIBZskd2q/L/X9FRazyUK7VJHlTSaMayutUzzmabYeUf4Qcp1ptU/WqdiD+puV6Ibn8htsRgtMZw7GM48jGabGTtoz80Oe63n2ZwztVPJOkzivINl+sHTvkLqusnmKdlsi4v79jHF5yyH/efrPwEMy/CxN1ivtijN1ii1Z7CWUo3s3mkXTKmMeYHJk4QCAoWYmettlvbFA+Prhpjdqcd+hsDlTAXq1hhcYMH7SH7Ie2x493zj51ZIzZ5Z+LuMJ4GwkmgfjgWboQX8sPi/TpW7sR6g1Udb3Rf90YmrwXz4hVH4TA93ZAKR+RJc7K2eebsfny8anx7+YU4qZRbcj5fHvD9YQKHA2Ey2GU4yIEwKtWi/RnbMEd0OGMXFghlzRy9Pbs/XGRdYrvL4clgiMahTCid5TrGIa6UT/6NxcirFowKWRdaiGf5A0K0kFmIMqJ0nKSGwL+7s1B5pBTIS3Mwfw7qK+O+Uz1/4lJ9IBcdZsIdPXWXl6/C0VVl05TF/wo7lgPCIuHUHmGTI8IeyTRtwaZ8/mZOpzfHU9cYOaDv9BZ3o9aYo6fWzFmvznn3b5nTDlUK0k2a3bQjSsReRXZJGtJaNuX5HcX5TQdlc5QYkVEZLOqYB8E8BJxqIPAZc6KETyqajwdRdHvmseCkLRI+INqhuSFbvfC8NcZv9X5TWyxGaN9aYxXuv/jTgnYgQe35N8ujdnPndd7g62sjz78BcCsbz6aAGzEAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"agreements","title":"agreements","src":"/abtnode/static/ccefb01a7cf555bd99672d8a4e604da1/48853/agreements.png","srcSet":["/abtnode/static/ccefb01a7cf555bd99672d8a4e604da1/41b2e/agreements.png 250w","/abtnode/static/ccefb01a7cf555bd99672d8a4e604da1/36a81/agreements.png 500w","/abtnode/static/ccefb01a7cf555bd99672d8a4e604da1/48853/agreements.png 910w"],"sizes":["(max-width:","910px)","100vw,","910px"],"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":"h3","properties":{"id":"4-verify-domain-name","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#4-verify-domain-name","ariaLabel":"4 verify domain name 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":"4. Verify domain name"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Certbot will ask to configure two TXT records on the DNS server:"}]},{"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: 888px; "},"children":[{"type":"text","value":"\n "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 67.60000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB6klEQVQ4y4WT63LaQAyF/SxpCEm4mjv4hjHGYHNLaNNpp+//Gqo+mWU6SdP+0KxWqz17dKT11vlZiu2r5MWLZOuTrct0L+nqIOvNWVbro/kbjfvDWAajRDq9hTy1pvLcntar+TMzL0p2gnEpineyXO0liLYyD3Jbg6hQfyNhvJXJLJPpfC3t7kIeHkfSfBp/MG++yA2Iy4ByEYB4WRoAj7FvdebypeFLozn8FKwG1ORFWChAJQv1Z8qA/UwfStJK3Dnl8zgl/ss8ksOoLidUpljPj0wXWLU6M7N2t/adbp8COjEfnycGgA91yvrTXKkYuVyuV2dXQLq6q77JtvxqZRW7i6yyo2T5Sbt/sRg+OaNJKuPpSrr94Ab6gaFpp2Wn2UHipDQtaRLdpFFIYDqqMTKA0mWqANTZrSmIz2UuBNdmOCaMDHHH6u7eN6PbToZGcyT3D4ObFB6Da+VpqcZSGbKnVORIdE/O8fTDzgGn2/4wMcasEOr0gpphdfius1ZKtX8z0I3+GvQsdU/sdP4p1eHNAHlgr/kvl1+mKfkHjZfq9wexsfRgAiBfCyb5dUU3kmBh2o1TGY6XOlKh+chCnBxiTkePIIn9QWT0SWTvRum9MSJ/izGf9pfRA+EBqn9MaVohOAn/+xnv7TeXX9HUOHgm3QAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"verify dns","title":"verify dns","src":"/abtnode/static/ccec990ce737921305c28a753d0fcfeb/cc70e/verify-dns.png","srcSet":["/abtnode/static/ccec990ce737921305c28a753d0fcfeb/41b2e/verify-dns.png 250w","/abtnode/static/ccec990ce737921305c28a753d0fcfeb/36a81/verify-dns.png 500w","/abtnode/static/ccec990ce737921305c28a753d0fcfeb/cc70e/verify-dns.png 888w"],"sizes":["(max-width:","888px)","100vw,","888px"],"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":"p","properties":{},"children":[{"type":"text","value":"You can use the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"host"}]},{"type":"text","value":" command to verify that the record is valid:"}]},{"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: 13.600000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAqklEQVQI122OSQ6CQBREOYtT3CiKIoMK0nSjIkNLNEG5/zmedK9dvPxK/VSlHC8p8ULFOkpYpSkbJXBFhuuf2fkpQSTZHzIWyz3T+dYymW3/aM9e5970NM+BSve074H69aXqemr9QXcD5eONyBv8QJDlNVJp1PVJLluEbChuHarQXLLKek4UK5K05Hi6Eh8Li38QREaPXhBKq8NxqRyDBlNgwrbMlKvWYn4/ScJoq9UN9AoAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"dns txt record","title":"dns txt record","src":"/abtnode/static/1ee513365c87bbaf60d5ddd3d331ed33/ea415/dns-txt.png","srcSet":["/abtnode/static/1ee513365c87bbaf60d5ddd3d331ed33/41b2e/dns-txt.png 250w","/abtnode/static/1ee513365c87bbaf60d5ddd3d331ed33/36a81/dns-txt.png 500w","/abtnode/static/1ee513365c87bbaf60d5ddd3d331ed33/ea415/dns-txt.png 1000w","/abtnode/static/1ee513365c87bbaf60d5ddd3d331ed33/b3d91/dns-txt.png 1023w"],"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":"p","properties":{},"children":[{"type":"text","value":"After the DNS record takes effect, press the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"Confirm"}]},{"type":"text","value":" button to confirm the generation of the certificate."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"Alibaba Cloud DNS resolution cannot add multiple values to a record, so you can only add two identical TXT records (\\"}]},{"type":"text","value":"acme-challenge.arcblockio.cn)_"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"5-generate-certificate","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#5-generate-certificate","ariaLabel":"5 generate certificate 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":"5. Generate Certificate"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The generated certificate is placed in the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"/etc/letsencrypt/live/[domain name]"}]},{"type":"text","value":" directory:"}]},{"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: 11.6%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhElEQVQI1x2Myw6CMBRE+RNXxrihxBiNtgWLXEpfBBTU//+R8dLdzJlHEccfYvpCNx5dP+GuLAa/gFgbO2PXz9i7BeXF4CYJ1r3hw4oQPyDO7fDK7Mx5WSkUGyAeqdqhown1I8DxYDskPhZ+xYE7x2sLISSkHtCYANOm3FXszTNlVp00/sh5R9uccy0dAAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"alt":"certificates","title":"certificates","src":"/abtnode/static/7e8a49a1c2d9b276be5e3db62f9f702a/ea415/certificates.png","srcSet":["/abtnode/static/7e8a49a1c2d9b276be5e3db62f9f702a/41b2e/certificates.png 250w","/abtnode/static/7e8a49a1c2d9b276be5e3db62f9f702a/36a81/certificates.png 500w","/abtnode/static/7e8a49a1c2d9b276be5e3db62f9f702a/ea415/certificates.png 1000w","/abtnode/static/7e8a49a1c2d9b276be5e3db62f9f702a/2ee20/certificates.png 1113w"],"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":"h3","properties":{"id":"6-example-configure-certificate-in-nginx","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#6-example-configure-certificate-in-nginx","ariaLabel":"6 example configure certificate in 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":"6. Example: Configure certificate in Nginx"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"element","tagName":"code","properties":{"className":["language-nginx"]},"children":[{"type":"text","value":"server {\n server_name abtnode.arcblockio.cn;\n listen 443 http2 ssl;\n ssl on;\n ssl_certificate /etc/letsencrypt/live/arcblockio.cn/fullchain.pem;\n ssl_certificate_key /etc/letsencrypt/live/arcblockio.cn/privkey.pem;\n\n location / {\n proxy_pass http://127.0.0.1:8080;\n }\n}\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":"d24d0e63-a4a5-5618-9884-b84e1acbbfd7","language":"en","locale":"en","languages":[{"value":"en","text":"English"},{"value":"zh","text":"简体中文"}],"headings":[{"value":"Note","depth":2},{"value":"Install Certbot","depth":2},{"value":"Manually generate a certificate","depth":2},{"value":"1. Execute the command","depth":3},{"value":"2. Enter the email address to receive updates and security notifications","depth":3},{"value":"3. Agree to the agreement","depth":3},{"value":"4. Verify domain name","depth":3},{"value":"5. Generate Certificate","depth":3},{"value":"6. Example: Configure certificate in Nginx","depth":3}],"navItems":[{"group":"/home/runner/work/abtnode-docs/abtnode-docs/src","title":"ABT Node","priority":999,"link":"/"}],"version":"v0.2.20","official":true,"originalPath":"/en/misc/generate-wildcard-https-certificate","sidebarContent":[{"url":null,"title":null,"pages":[{"title":"ABT Node Docs","path":"/en/"}]},{"url":"/en/introduction","title":"Introduction","pages":[{"title":"ABT Node Overview","path":"/en/introduction/abtnode-overview"},{"title":"ABT Node Setup","path":"/en/introduction/abtnode-setup"},{"title":"ABT Node Access","path":"/en/introduction/abtnode-access"}]},{"url":"/en/marketplace","title":"Marketplace","pages":[{"title":"Find and Install Blocklets","path":"/en/marketplace/find-and-install"},{"title":"Upgrade/downgrade blocklet","path":"/en/marketplace/upgrade-downgrade"}]},{"url":"/en/blocklet","title":"Blocklets","pages":[{"title":"Basic Operations","path":"/en/blocklet/basic-operations"},{"title":"Blocklet Environments","path":"/en/blocklet/environments"},{"title":"Core Blocklets","path":"/en/blocklet/core-blocklets"}]},{"url":"/en/router","title":"Service Gateway","pages":[{"title":"What is Service Gateway?","path":"/en/router/what-is-router"},{"title":"Service Gateway Usage","path":"/en/router/basic-usage"},{"title":"Binding domain names to sites and enabling SSL","path":"/en/router/bind-domain-and-ssl"},{"title":"Certificates for localhost","path":"/en/router/certificates-for-localhost"}]},{"url":"/en/deployment","title":"Deployment","pages":[{"title":"Production Best Practice","path":"/en/deployment/best-practice"},{"title":"Deploy ABT Node Using AWS AMI","path":"/en/deployment/from-aws-ami"},{"title":"Bind domain with reverse proxy server","path":"/en/deployment/behind-reverse-proxy"},{"title":"Run In Docker","path":"/en/deployment/run-in-docker"}]},{"url":"/en/misc","title":"Misc","pages":[{"title":"Node Settings","path":"/en/misc/node-settings"},{"title":"Member Management","path":"/en/misc/member-management"},{"title":"GraphQL Console","path":"/en/misc/graphql-console"}]},{"url":"/en/developer","title":"Developer Guide","pages":[{"title":"Configuring the development environment","path":"/en/developer/config-dev-env"},{"title":"ABT Node CLI","path":"/en/developer/abtnode-cli"},{"title":"Node Configuration","path":"/en/developer/configuration"},{"title":"Storage Structure","path":"/en/developer/storage-structure"},{"title":"Blocklet Specification","path":"/en/developer/blocklet-spec"},{"title":"Create Static Blocklets","path":"/en/developer/static-blocklets"},{"title":"Create DApp Blocklets","path":"/en/developer/dapp-blocklets"},{"title":"Blocklet Hooks","path":"/en/developer/blocklet-hooks"},{"title":"Bundle Blocklets","path":"/en/developer/bundle-blocklets"},{"title":"Publish Blocklets","path":"/en/developer/publish-blocklets"},{"title":"Blocklet Registry","path":"/en/developer/blocklet-registry"},{"title":"Developing Blocklets with Codespaces","path":"/en/developer/blocklet-codespaces"},{"title":"Configure Auth Service for Blocklet","path":"/en/developer/auth-service"},{"title":"Composable blocklet","path":"/en/developer/composable-blocklet"},{"title":"Docker Registry List","path":"/en/developer/docker-registry"}]}],"communityPath":"https://community.arcblockio.cn","githubUrl":"https://github.com/ArcBlock/abtnode-docs/tree/master/src/misc/generate-wildcard-https-certificate/index.md"}},"staticQueryHashes":["1358860651","1619896071","1812186216","2194038815"]}