{"id":12429,"date":"2022-01-05T19:17:33","date_gmt":"2022-01-05T11:17:33","guid":{"rendered":"https:\/\/mnya.tw\/cc\/?p=12429"},"modified":"2023-02-01T11:14:36","modified_gmt":"2023-02-01T03:14:36","slug":"1757","status":"publish","type":"post","link":"https:\/\/mnya.tw\/cc\/word\/1757.html","title":{"rendered":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49"},"content":{"rendered":"<p>\u9996\u5148\uff0c\u6211\u7684 Apache HTTP \u4f3a\u670d\u5668\u662f\u67b6\u8a2d\u5728 Docker \u7684\u5bb9\u5668\u4e4b\u4e2d\uff0c\u6240\u4ee5\u4e00\u958b\u59cb\u4e00\u5b9a\u8981\u5c07\u8a72\u5bb9\u5668\u7684 port 80 \u8ddf 443 \u5c0d\u5916\u958b\u653e\uff0c\u9019\u6a23\u76f8\u5c0d\u61c9\u7684 HTTP \u8207 HTTPS \u50b3\u8f38\u5354\u5b9a\u624d\u80fd\u4f7f\u7528\uff0c\u8a2a\u5ba2\u624d\u80fd\u900f\u904e\u700f\u89bd\u5668\u8a2a\u554f\u6211\u5011\u7684\u7db2\u7ad9\uff0c\u4e0d\u904e\u7531\u65bc\u6211\u5011\u5c1a\u672a\u5b89\u88dd SSL \u6191\u8b49\uff0c\u6240\u4ee5 HTTPS \u9023\u7dda\u66ab\u6642\u7121\u6cd5\u4f7f\u7528\uff0c\u70ba\u4e86\u8b93\u5b83\u80fd\u6b63\u5e38\u904b\u4f5c\uff0c\u73fe\u5728\u6211\u5011\u8981\u5229\u7528 CertBot \u9019\u500b\u5de5\u5177\uff0c\u70ba\u5bb9\u5668\u5167\u7684 Apache \u81ea\u52d5\u53d6\u5f97\u7531 Let\u2019s Encrypt \u63d0\u4f9b\u7684\u514d\u8cbb SSL \u6191\u8b49\u3002\u73fe\u5728\u5c31\u958b\u59cb\u5427\uff01<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg\" width=\"1024\" height=\"768\" \/><br \/>\n\u25b2 \u9019\u662f <a href=\"https:\/\/certbot.eff.org\/\" target=\"_blank\" rel=\"noopener\">CertBot \u7684\u5b98\u65b9\u7db2\u7ad9<\/a>\u622a\u5716\uff0c\u4e00\u822c\u4f86\u8aaa\u53ea\u8981\u7167\u8457\u5b98\u7db2\u63d0\u4f9b\u7684\u9078\u9805\uff0c\u9078\u64c7\u60a8\u4f7f\u7528\u7684\u4f5c\u696d\u7cfb\u7d71\u53ca\u7db2\u9801\u4f3a\u670d\u5668\u67b6\u69cb\uff0c\u63a5\u8457\u5c31\u80fd\u7167\u8457\u8aaa\u660e\u53bb\u57f7\u884c\u76f8\u95dc\u6307\u4ee4\u5b8c\u6210\u81ea\u52d5 SSL \u6191\u8b49\u7533\u8acb\uff0c\u4f46\u7531\u65bc\u6211\u5011\u7684\u7db2\u9801\u4f3a\u670d\u5668\u662f\u88ab\u95dc\u5728 Docker \u5bb9\u5668\u4e2d\uff0c\u56e0\u6b64\u9700\u8981\u4f7f\u7528\u7279\u6b8a\u7684\u65b9\u5f0f\u9032\u884c\u3002\u53e6\u5916\u8981\u6ce8\u610f\uff0cCertBot \u53bb\u7533\u8acb\u7684\u6191\u8b49\u4f86\u81ea Let\u2019s Encrypt\uff0c\u5176\u6191\u8b49\u671f\u9650\u662f\u4e09\u500b\u6708\uff0c\u6240\u4ee5\u5fc5\u9808\u5b9a\u6642\u66f4\u65b0\uff0c\u5e78\u597d CertBot \u6709\u63d0\u4f9b\u76f8\u5c0d\u61c9\u7684\u6307\u4ee4\u53ef\u4ee5\u5e6b\u52a9\u6211\u5011\u66f4\u65b0\u6191\u8b49\uff0c\u6587\u672b\u6703\u63d0\u53ca\u3002<\/p>\n<p>\u958b\u59cb\uff01\u6253\u958b\u7d42\u7aef\u6a5f\u5148 SSH \u9023\u7dda\u5230\u4f3a\u670d\u5668\uff0c\u8acb\u5148\u7528 <code>docker ps<\/code> \u67e5\u770b\u5bb9\u5668\u540d\u7a31\u6216 ID\uff0c\u63a5\u8457\u8f38\u5165 <code>docker exec -it [\u5bb9\u5668] bash<\/code> \u9032\u5165\u8a72\u5bb9\u5668\u4e26\u4fdd\u6301\u53ef\u8f38\u5165\u6307\u4ee4\u72c0\u614b\uff0c\u4e0b <code>apt install certbot python3-certbot-apache -y<\/code> \u5c07 CertBot \u5b89\u88dd\u9032\u5bb9\u5668\u5167\uff0c\u518d\u4f86\u7528 <code>certbot --apache<\/code> \u555f\u52d5\u6a5f\u5668\u4eba\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-2.jpg\" width=\"1024\" height=\"768\" \/><br \/>\n\u25b2 \u63a5\u8457\u6703\u770b\u5230\u4ee5\u4e0b\u6587\u5b57\u5167\u5bb9\uff1a<\/p>\n<blockquote><p>root@123a45bbcccc:\/var\/log\/letsencrypt# certbot --apache<br \/>\nSaving debug log to \/var\/log\/letsencrypt\/letsencrypt.log<br \/>\nPlugins selected: Authenticator apache, Installer apache<br \/>\nEnter email address (used for urgent renewal and security notices)<br \/>\n(Enter 'c' to cancel):<\/p><\/blockquote>\n<p>\u57fa\u672c\u4e0a\u9700\u8981\u5148\u8f38\u5165 E-MAIL...<\/p>\n<blockquote><p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nPlease read the Terms of Service at<br \/>\n<a href=\"https:\/\/letsencrypt.org\/documents\/LE-SA-v1.2-November-15-2017.pdf\" target=\"_blank\" rel=\"noopener\">https:\/\/letsencrypt.org\/documents\/LE-SA-v1.2-November-15-2017.pdf<\/a>. You must<br \/>\nagree in order to register with the ACME server. Do you agree?<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p><\/blockquote>\n<p>\u518d\u4f86\u8981\u540c\u610f\u8a3b\u518a\u81f3 ACME \u4f3a\u670d\u5668\uff0c\u8acb\u4e00\u5b9a\u8981 Y...<\/p>\n<blockquote><p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nWould you be willing, once your first certificate is successfully issued, to<br \/>\nshare your email address with the Electronic Frontier Foundation, a founding<br \/>\npartner of the Let's Encrypt project and the non-profit organization that<br \/>\ndevelops Certbot? We'd like to send you email about our work encrypting the web,<br \/>\nEFF news, campaigns, and ways to support digital freedom.<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p><\/blockquote>\n<p>\u662f\u5426\u8981\u63a5\u6536\u76f8\u95dc E-MAIL\uff0c\u9019\u90e8\u5206\u53ef\u4ee5 N\uff0c\u63a5\u8457\u6703\u770b\u5230\u8a3b\u518a\u6210\u529f\u6587\u5b57\u3002<\/p>\n<blockquote><p>No names were found in your configuration files. Please enter in your domain<br \/>\nname(s) (comma and\/or space separated) (Enter 'c' to cancel):<\/p><\/blockquote>\n<p>\u9019\u500b\u662f\u8981\u8f38\u5165\u60a8\u7684\u7db2\u57df\u540d\u7a31\uff0c\u8f38\u5165\u300cc\u300d\u53ef\u4ee5\u53d6\u6d88\uff0c\u9019\u88e1\u5148\u4ee5\u300cexample.com\u300d\u66ff\u4ee3\uff0c\u6703\u770b\u5230\u4ee5\u4e0b\u56de\u61c9\uff1a<\/p>\n<blockquote><p>Requesting a certificate for example.com<br \/>\nPerforming the following challenges:<br \/>\nhttp-01 challenge for example.com<br \/>\nEnabled Apache rewrite module<br \/>\nWaiting for verification...<br \/>\nCleaning up challenges<br \/>\nCreated an SSL vhost at \/etc\/apache2\/sites-available\/000-default-le-ssl.conf<br \/>\nEnabled Apache socache_shmcb module<br \/>\nEnabled Apache ssl module<br \/>\nDeploying Certificate to VirtualHost \/etc\/apache2\/sites-available\/000-default-le-ssl.conf<br \/>\nEnabling available site: \/etc\/apache2\/sites-available\/000-default-le-ssl.conf<br \/>\nEnabled Apache rewrite module<br \/>\nRedirecting vhost in \/etc\/apache2\/sites-enabled\/000-default.conf to ssl vhost in \/etc\/apache2\/sites-available\/000-default-le-ssl.conf<\/p><div class=\"3a456c955cc9861673f62d33beb7714e\" data-index=\"2\" style=\"float: none; margin:0px;\">\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2683739050533486\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block; text-align:center;\"\r\n     data-ad-layout=\"in-article\"\r\n     data-ad-format=\"fluid\"\r\n     data-ad-client=\"ca-pub-2683739050533486\"\r\n     data-ad-slot=\"3270345536\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<\/div>\n\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nCongratulations! You have successfully enabled https:\/\/example.com<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p>\n<p>IMPORTANT NOTES:<br \/>\n- Congratulations! Your certificate and chain have been saved at:<br \/>\n\/etc\/letsencrypt\/live\/example.com\/fullchain.pem<br \/>\nYour key file has been saved at:<br \/>\n\/etc\/letsencrypt\/live\/example.com\/privkey.pem<br \/>\nYour certificate will expire on 2022-04-05. To obtain a new or<br \/>\ntweaked version of this certificate in the future, simply run<br \/>\ncertbot again with the \"certonly\" option. To non-interactively<br \/>\nrenew *all* of your certificates, run \"certbot renew\"<br \/>\n- If you like Certbot, please consider supporting our work by:<\/p>\n<p>Donating to ISRG \/ Let's Encrypt: https:\/\/letsencrypt.org\/donate<br \/>\nDonating to EFF: https:\/\/eff.org\/donate-le<\/p><\/blockquote>\n<p>\u5230\u76ee\u524d\u70ba\u6b62\uff0cCertBot \u5df2\u7d93\u5e6b\u52a9\u60a8\u5b8c\u6210\u7533\u8acb SSL \u6191\u8b49\u56c9\uff01\u6587\u5b57\u4e2d\u53ef\u4ee5\u770b\u5230\u5169\u500b\u91cd\u9ede\uff0c\u4e00\u662f\u9019\u500b\u65b0\u6191\u8b49\u6703\u5728\u4e09\u500b\u6708\u5f8c\u5230\u671f\uff0c\u4e8c\u662f\u9019\u500b\u6191\u8b49\u53ef\u4ee5\u900f\u904e <code>certbot renew<\/code> \u6307\u4ee4\u66f4\u65b0\u6191\u8b49\uff0c\u4f46\u7406\u8ad6\u4e0a Certbot \u7a0b\u5f0f\u5305\u6703\u9644\u5e36\u4e00\u500b cron \u4f5c\u696d\u6216 systemd \u8a08\u6642\u5668\uff0c\u6240\u4ee5\u7121\u9700\u81ea\u884c\u624b\u52d5\u66f4\u65b0\uff0c\u5b83\u6703\u81ea\u52d5\u66f4\u65b0\u6191\u8b49\u3002\u7531\u65bc\u73fe\u5728\u6191\u8b49\u9084\u5f88\u65b0\uff0c\u76f4\u63a5\u8f38\u5165\u6307\u4ee4\u6703\u5f97\u5230\u4ee5\u4e0b\u56de\u61c9\uff1a<\/p>\n<blockquote><p>Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log<\/p>\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nProcessing \/etc\/letsencrypt\/renewal\/example.com.conf<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nCert not yet due for renewal<\/p>\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nThe following certificates are not due for renewal yet:<br \/>\n\/etc\/letsencrypt\/live\/example.com\/fullchain.pem expires on 2022-04-05 (skipped)<br \/>\nNo renewals were attempted.<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p><\/blockquote>\n<p>\u4ee5\u4e0a\u6587\u5b57\u5c31\u662f\u4e0d\u9700\u8981\u66f4\u65b0\u6191\u8b49\u7684\u610f\u601d\u3002\u82e5\u8981\u6a21\u64ec\u6191\u8b49\u66f4\u65b0\uff0c\u53ef\u4ee5\u7528 <code>certbot renew --dry-run<\/code> \u6307\u4ee4\uff0c\u5f97\u5230\u7d50\u679c\u5982\u4e0b\uff1a<\/p>\n<blockquote><p>root@123a45bbcccc:\/var\/log\/letsencrypt# certbot renew --dry-run<br \/>\nSaving debug log to \/var\/log\/letsencrypt\/letsencrypt.log<\/p>\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nProcessing \/etc\/letsencrypt\/renewal\/example.com.conf<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nCert not due for renewal, but simulating renewal for dry run<br \/>\nPlugins selected: Authenticator apache, Installer apache<br \/>\nAccount registered.<br \/>\nSimulating renewal of an existing certificate for example.com<br \/>\nPerforming the following challenges:<br \/>\nhttp-01 challenge for example.com<br \/>\nWaiting for verification...<br \/>\nCleaning up challenges<\/p>\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nnew certificate deployed with reload of apache server; fullchain is<br \/>\n\/etc\/letsencrypt\/live\/example.com\/fullchain.pem<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p>\n<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br \/>\nCongratulations, all simulated renewals succeeded:<br \/>\n\/etc\/letsencrypt\/live\/example.com\/fullchain.pem (success)<br \/>\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/p><\/blockquote>\n<p>\u9810\u8a2d\u60c5\u6cc1\u4e0b CertBot \u6703\u8b93 HTTP \u81ea\u52d5\u8f49 HTTPS\uff0c\u4f46\u82e5\u4e0d\u60f3\u8981\u9019\u6a23\uff0c\u5f88\u7c21\u55ae\uff01\u53ea\u8981\u5230\u5bb9\u5668\u5167\u7684 <code>\/etc\/apache2\/sites-enabled<\/code>\uff0c\u7528\u6587\u5b57\u7de8\u8f2f\u5668\u6253\u958b <code>000-default.conf<\/code>\uff08\u63a8\u85a6\u7528 VIM\uff09\uff0c\u63a5\u8457\uff1a<\/p>\n<blockquote><p>RewriteEngine on<br \/>\nRewriteCond %{SERVER_NAME} =example.com<br \/>\nRewriteRule ^ https:\/\/%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]<\/p><\/blockquote>\n<p>\u6539\u6210<\/p>\n<blockquote><p>RewriteEngine off<br \/>\nRewriteCond %{SERVER_NAME} =example.com<br \/>\nRewriteRule ^ https:\/\/%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]<\/p><\/blockquote>\n<p>\u6216\u662f\u76f4\u63a5\u5c07\u9019\u4e09\u884c\u79fb\u9664\u4e5f\u662fOK\u7684\uff01\u8a2d\u5b9a\u6a94\u6539\u597d\u5f8c\u8a18\u5f97\u4e0b <code>service apache2 restart<\/code> \u91cd\u65b0\u555f\u52d5\u4f3a\u670d\u5668\u4ee5\u8b93\u65b0\u8a2d\u5b9a\u751f\u6548\u5594\uff01<\/p>\n<p>\u5e0c\u671b\u9019\u500b\u5716\u6587\u6709\u5e6b\u52a9\u5230\u5927\u5bb6\uff01<\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148\uff0c\u6211\u7684 Apache HTTP \u4f3a\u670d\u5668\u662f\u67b6\u8a2d\u5728 Docker \u7684\u5bb9\u5668\u4e4b\u4e2d\uff0c\u6240\u4ee5\u4e00\u958b\u59cb\u4e00\u5b9a\u8981\u5c07\u8a72\u5bb9\u5668\u7684 port 80 \u8ddf 443 \u5c0d\u5916\u958b\u653e\uff0c\u9019\u6a23\u76f8\u5c0d\u61c9\u7684 HTTP \u8207 HTTPS \u50b3\u8f38\u5354\u5b9a\u624d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":12430,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,505,20,542,36],"tags":[555,546],"class_list":["post-12429","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-os","category-info-security","category-server","category-linux","category-ubuntu","tag-apache","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mnya.tw\/cc\/word\/1757.html\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148\uff0c\u6211\u7684 Apache HTTP \u4f3a\u670d\u5668\u662f\u67b6\u8a2d\u5728 Docker \u7684\u5bb9\u5668\u4e4b\u4e2d\uff0c\u6240\u4ee5\u4e00\u958b\u59cb\u4e00\u5b9a\u8981\u5c07\u8a72\u5bb9\u5668\u7684 port 80 \u8ddf 443 \u5c0d\u5916\u958b\u653e\uff0c\u9019\u6a23\u76f8\u5c0d\u61c9\u7684 HTTP \u8207 HTTPS \u50b3\u8f38\u5354\u5b9a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mnya.tw\/cc\/word\/1757.html\" \/>\n<meta property=\"og:site_name\" content=\"\u840c\u82bd\u7d9c\u5408\u5929\u5730\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-05T11:17:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-01T03:14:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u840c\u82bd\u7ad9\u9577\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/x.com\/qwe987299\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005:\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u840c\u82bd\u7ad9\u9577\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html\"},\"author\":{\"name\":\"\u840c\u82bd\u7ad9\u9577\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/#\\\/schema\\\/person\\\/28e9ae25bc418b8ec216b7aa2c848faa\"},\"headline\":\"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49\",\"datePublished\":\"2022-01-05T11:17:33+00:00\",\"dateModified\":\"2023-02-01T03:14:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html\"},\"wordCount\":1208,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/wp-content\\\/uploads\\\/2022\\\/1757-1.jpg\",\"keywords\":[\"Apache\",\"Docker\"],\"articleSection\":[\"\u4f5c\u696d\u7cfb\u7d71\",\"\u8cc7\u8a0a\u5b89\u5168\",\"\u4f3a\u670d\u5668\",\"Linux\",\"Ubuntu\"],\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html\",\"url\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html\",\"name\":\"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/wp-content\\\/uploads\\\/2022\\\/1757-1.jpg\",\"datePublished\":\"2022-01-05T11:17:33+00:00\",\"dateModified\":\"2023-02-01T03:14:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/#\\\/schema\\\/person\\\/28e9ae25bc418b8ec216b7aa2c848faa\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#primaryimage\",\"url\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/wp-content\\\/uploads\\\/2022\\\/1757-1.jpg\",\"contentUrl\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/wp-content\\\/uploads\\\/2022\\\/1757-1.jpg\",\"width\":1024,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/1757.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/mnya.tw\\\/cc\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/#website\",\"url\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/\",\"name\":\"\u840c\u82bd\u7d9c\u5408\u5929\u5730\",\"description\":\"\u751f\u6d3b\u4f11\u9592\u2502\u96fb\u5b50\u8cc7\u8a0a\u2502\u5b78\u8853\u77e5\u8b58\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/#\\\/schema\\\/person\\\/28e9ae25bc418b8ec216b7aa2c848faa\",\"name\":\"\u840c\u82bd\u7ad9\u9577\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g\",\"caption\":\"\u840c\u82bd\u7ad9\u9577\"},\"description\":\"\u60a8\u597d\uff0c\u6211\u662f\u840c\u82bd\u7cfb\u5217\u7db2\u7ad9\uff08Mnya Series Website\uff09\u7684\u7ad9\u9577&amp;\u5275\u59cb\u4eba\uff0c\u53ef\u4ee5\u7a31\u547c\u6211\u300c\u840c\u82bd\u7ad9\u9577\u300d\u3002\u6211\u7684\u8208\u8da3\u8207\u5c08\u9577\u6709\u767b\u5c71\u3001\u89c0\u5bdf\u5730\u5f62\u3001\u651d\u5f71\u3001\u65c5\u904a\u3001\u7db2\u9801\u8a2d\u8a08\uff06\u67b6\u8a2d\uff06\u7d93\u71df\u3001\u52d5\u756b\u88fd\u4f5c\u3001\u5716\u7247\u8655\u7406\u3001\u8cc7\u6599\u5f59\u6574\u7b49\u3002\u6709\u4efb\u4f55\u554f\u984c\u6216\u5efa\u8b70\u8acb\u81f3\u840c\u82bd\u8ad6\u58c7\u767c\u8868\u3002\u7db2\u7ad9\u696d\u52d9\u3001\u5546\u696d\u5408\u4f5c\u7684\u806f\u7d61\u65b9\u5f0f\u5728\u300c\u95dc\u65bc\u672c\u7ad9 \u2192 \u5718\u968a\u4ecb\u7d39 \u2192 \u7ad9\u9577\u4ecb\u7d39\u300d\uff0c\u5f88\u9ad8\u8208\u8a8d\u8b58\u60a8\uff01\u8acb\u591a\u6307\u6559\uff01\",\"sameAs\":[\"https:\\\/\\\/mnya.tw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/x.com\\\/qwe987299\"],\"url\":\"https:\\\/\\\/mnya.tw\\\/cc\\\/word\\\/author\\\/qwe987299\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mnya.tw\/cc\/word\/1757.html","og_locale":"zh_TW","og_type":"article","og_title":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801","og_description":"\u9996\u5148\uff0c\u6211\u7684 Apache HTTP \u4f3a\u670d\u5668\u662f\u67b6\u8a2d\u5728 Docker \u7684\u5bb9\u5668\u4e4b\u4e2d\uff0c\u6240\u4ee5\u4e00\u958b\u59cb\u4e00\u5b9a\u8981\u5c07\u8a72\u5bb9\u5668\u7684 port 80 \u8ddf 443 \u5c0d\u5916\u958b\u653e\uff0c\u9019\u6a23\u76f8\u5c0d\u61c9\u7684 HTTP \u8207 HTTPS \u50b3\u8f38\u5354\u5b9a [&hellip;]","og_url":"https:\/\/mnya.tw\/cc\/word\/1757.html","og_site_name":"\u840c\u82bd\u7d9c\u5408\u5929\u5730","article_published_time":"2022-01-05T11:17:33+00:00","article_modified_time":"2023-02-01T03:14:36+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg","type":"image\/jpeg"}],"author":"\u840c\u82bd\u7ad9\u9577","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/x.com\/qwe987299","twitter_misc":{"\u4f5c\u8005:":"\u840c\u82bd\u7ad9\u9577","\u9810\u4f30\u95b1\u8b80\u6642\u9593":"4 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#article","isPartOf":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html"},"author":{"name":"\u840c\u82bd\u7ad9\u9577","@id":"https:\/\/mnya.tw\/cc\/#\/schema\/person\/28e9ae25bc418b8ec216b7aa2c848faa"},"headline":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49","datePublished":"2022-01-05T11:17:33+00:00","dateModified":"2023-02-01T03:14:36+00:00","mainEntityOfPage":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html"},"wordCount":1208,"commentCount":0,"image":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#primaryimage"},"thumbnailUrl":"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg","keywords":["Apache","Docker"],"articleSection":["\u4f5c\u696d\u7cfb\u7d71","\u8cc7\u8a0a\u5b89\u5168","\u4f3a\u670d\u5668","Linux","Ubuntu"],"inLanguage":"zh-TW","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mnya.tw\/cc\/word\/1757.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mnya.tw\/cc\/word\/1757.html","url":"https:\/\/mnya.tw\/cc\/word\/1757.html","name":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49 - \u840c\u82bd\u7d9c\u5408\u5929\u5730 - \u840c\u82bd\u7db2\u9801","isPartOf":{"@id":"https:\/\/mnya.tw\/cc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#primaryimage"},"image":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#primaryimage"},"thumbnailUrl":"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg","datePublished":"2022-01-05T11:17:33+00:00","dateModified":"2023-02-01T03:14:36+00:00","author":{"@id":"https:\/\/mnya.tw\/cc\/#\/schema\/person\/28e9ae25bc418b8ec216b7aa2c848faa"},"breadcrumb":{"@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mnya.tw\/cc\/word\/1757.html"]}]},{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#primaryimage","url":"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg","contentUrl":"https:\/\/mnya.tw\/cc\/wp-content\/uploads\/2022\/1757-1.jpg","width":1024,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/mnya.tw\/cc\/word\/1757.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/mnya.tw\/cc"},{"@type":"ListItem","position":2,"name":"Ubuntu\uff1a\u70ba Docker \u4e2d\u7684 Apache \u5bb9\u5668\u4f7f\u7528 CertBot \u81ea\u52d5\u5b89\u88dd Let\u2019s Encrypt SSL \u6191\u8b49"}]},{"@type":"WebSite","@id":"https:\/\/mnya.tw\/cc\/#website","url":"https:\/\/mnya.tw\/cc\/","name":"\u840c\u82bd\u7d9c\u5408\u5929\u5730","description":"\u751f\u6d3b\u4f11\u9592\u2502\u96fb\u5b50\u8cc7\u8a0a\u2502\u5b78\u8853\u77e5\u8b58","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mnya.tw\/cc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":"Person","@id":"https:\/\/mnya.tw\/cc\/#\/schema\/person\/28e9ae25bc418b8ec216b7aa2c848faa","name":"\u840c\u82bd\u7ad9\u9577","image":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/secure.gravatar.com\/avatar\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c63875472a671bb4fd1e3a1012e8ef8bb9672b41d7810b61f508a42ad15ef16a?s=96&d=mm&r=g","caption":"\u840c\u82bd\u7ad9\u9577"},"description":"\u60a8\u597d\uff0c\u6211\u662f\u840c\u82bd\u7cfb\u5217\u7db2\u7ad9\uff08Mnya Series Website\uff09\u7684\u7ad9\u9577&amp;\u5275\u59cb\u4eba\uff0c\u53ef\u4ee5\u7a31\u547c\u6211\u300c\u840c\u82bd\u7ad9\u9577\u300d\u3002\u6211\u7684\u8208\u8da3\u8207\u5c08\u9577\u6709\u767b\u5c71\u3001\u89c0\u5bdf\u5730\u5f62\u3001\u651d\u5f71\u3001\u65c5\u904a\u3001\u7db2\u9801\u8a2d\u8a08\uff06\u67b6\u8a2d\uff06\u7d93\u71df\u3001\u52d5\u756b\u88fd\u4f5c\u3001\u5716\u7247\u8655\u7406\u3001\u8cc7\u6599\u5f59\u6574\u7b49\u3002\u6709\u4efb\u4f55\u554f\u984c\u6216\u5efa\u8b70\u8acb\u81f3\u840c\u82bd\u8ad6\u58c7\u767c\u8868\u3002\u7db2\u7ad9\u696d\u52d9\u3001\u5546\u696d\u5408\u4f5c\u7684\u806f\u7d61\u65b9\u5f0f\u5728\u300c\u95dc\u65bc\u672c\u7ad9 \u2192 \u5718\u968a\u4ecb\u7d39 \u2192 \u7ad9\u9577\u4ecb\u7d39\u300d\uff0c\u5f88\u9ad8\u8208\u8a8d\u8b58\u60a8\uff01\u8acb\u591a\u6307\u6559\uff01","sameAs":["https:\/\/mnya.tw\/","https:\/\/x.com\/https:\/\/x.com\/qwe987299"],"url":"https:\/\/mnya.tw\/cc\/word\/author\/qwe987299"}]}},"_links":{"self":[{"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/posts\/12429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/comments?post=12429"}],"version-history":[{"count":0,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/posts\/12429\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/media\/12430"}],"wp:attachment":[{"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/media?parent=12429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/categories?post=12429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mnya.tw\/cc\/wp-json\/wp\/v2\/tags?post=12429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}