{"id":730,"date":"2025-06-11T22:26:00","date_gmt":"2025-06-11T14:26:00","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/730.html"},"modified":"2025-06-11T22:26:00","modified_gmt":"2025-06-11T14:26:00","slug":"%e5%9c%a8%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83%e4%b8%ad%e4%bd%bf%e7%94%a8-apache-%e5%92%8c-lets-encrypt-%e9%83%a8%e7%bd%b2-laravel","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/730.html","title":{"rendered":"\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4f7f\u7528 Apache \u548c Let&#8217;s Encrypt \u90e8\u7f72 Laravel"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#37096;&#32626; Laravel &#26102;&#65292;&#20351;&#29992; Apache &#21644; Let&#8217;s Encrypt &#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#20570;&#27861;&#65292;&#21487;&#20197;&#30830;&#20445;&#32593;&#31449;&#30340;&#23433;&#20840;&#24615;&#21644;&#21487;&#29992;&#24615;&#12290;&#20197;&#19979;&#26159;&#35814;&#32454;&#27493;&#39588;&#65306;<\/p>\n<h3>1. &#23433;&#35013;&#24517;&#35201;&#30340;&#36719;&#20214;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#23433;&#35013;&#20197;&#19979;&#36719;&#20214;&#65306;<\/p>\n<ul>\n<li><strong>Apache<\/strong>: &#30830;&#20445;&#20320;&#30340;&#26381;&#21153;&#22120;&#19978;&#24050;&#32463;&#23433;&#35013;&#20102; Apache&#12290;<\/li>\n<li><strong>Let&#8217;s Encrypt<\/strong>: &#19979;&#36733;&#24182;&#23433;&#35013; Let&#8217;s Encrypt &#30340;&#23458;&#25143;&#31471;&#12290;<\/li>\n<\/ul>\n<h4>&#23433;&#35013; Apache<\/h4>\n<p>&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;&#23433;&#35013; Apache&#65292;&#21487;&#20197;&#36890;&#36807;&#21253;&#31649;&#29702;&#22120;&#36827;&#34892;&#23433;&#35013;&#12290;&#20363;&#22914;&#65292;&#22312; Ubuntu &#19978;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install apache2<\/code><\/pre>\n<h4>&#23433;&#35013; Let&#8217;s Encrypt<\/h4>\n<p>&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#21629;&#20196;&#26469;&#23433;&#35013; Let&#8217;s Encrypt&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install software-properties-common\nsudo add-apt-repository ppa:certbot\/certbot\nsudo apt update\nsudo apt install certbot python3-certbot-apache<\/code><\/pre>\n<h3>2. &#21019;&#24314; SSL &#35777;&#20070;<\/h3>\n<p>&#20351;&#29992; Certbot &#23458;&#25143;&#31471;&#29983;&#25104; SSL &#35777;&#20070;&#12290;&#20551;&#35774;&#20320;&#30340;&#22495;&#21517;&#26159; <code>example.com<\/code>&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo certbot --apache -d example.com<\/code><\/pre>\n<p>Certbot &#20250;&#25552;&#31034;&#20320;&#36873;&#25321;&#35201;&#20351;&#29992;&#30340;&#35748;&#35777;&#26041;&#27861;&#65288;&#22914; HTTP&#12289;DNS &#31561;&#65289;&#12290;&#36873;&#25321;&#36866;&#21512;&#20320;&#30340;&#26041;&#27861;&#21363;&#21487;&#12290;<\/p>\n<h3>3. &#37197;&#32622; Apache<\/h3>\n<p>Certbot &#23433;&#35013;&#23436;&#25104;&#21518;&#65292;Apache &#20250;&#33258;&#21160;&#37197;&#32622; SSL &#35777;&#20070;&#12290;&#20320;&#38656;&#35201;&#32534;&#36753; Apache &#30340;&#34394;&#25311;&#20027;&#26426;&#25991;&#20214;&#20197;&#21551;&#29992; HTTPS&#12290;&#36890;&#24120;&#65292;&#34394;&#25311;&#20027;&#26426;&#25991;&#20214;&#20301;&#20110; <code>\/etc\/apache2\/sites-available\/000-default.conf<\/code> &#25110;&#31867;&#20284;&#30340;&#36335;&#24452;&#12290;<\/p>\n<p>&#25171;&#24320;&#35813;&#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-apache\">&lt;VirtualHost *:443&gt;\n    ServerName example.com\n    DocumentRoot \/var\/www\/html\/example.com\/public\n\n    &lt;Directory \/var\/www\/html\/example.com\/public&gt;\n        Options Indexes FollowSymLinks MultiViews\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>&#20445;&#23384;&#25991;&#20214;&#21518;&#65292;&#37325;&#26032;&#21152;&#36733; Apache &#20197;&#24212;&#29992;&#26356;&#25913;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload apache2<\/code><\/pre>\n<h3>4. &#39564;&#35777;&#37197;&#32622;<\/h3>\n<p>&#20320;&#21487;&#20197;&#36890;&#36807;&#35775;&#38382; <code>https:\/\/example.com<\/code> &#26469;&#39564;&#35777; SSL &#26159;&#21542;&#25104;&#21151;&#37197;&#32622;&#12290;<\/p>\n<h3>5. &#37197;&#32622; Laravel<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#24320;&#22987;&#37197;&#32622; Laravel &#39033;&#30446;&#12290;&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#30340; Laravel &#39033;&#30446;&#24050;&#32463;&#27491;&#30830;&#23433;&#35013;&#24182;&#19988;&#37197;&#32622;&#22909;&#20102;&#25968;&#25454;&#24211;&#36830;&#25509;&#31561;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65306;&#21019;&#24314; Laravel &#39033;&#30446;<\/h3>\n<p>&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;&#21019;&#24314; Laravel &#39033;&#30446;&#65292;&#21487;&#20197;&#20351;&#29992; Composer &#36827;&#34892;&#23433;&#35013;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer create-project --prefer-dist laravel\/laravel example.com\ncd example.com<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#23433;&#35013;&#25152;&#26377;&#20381;&#36182;&#39033;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer install<\/code><\/pre>\n<p>&#26368;&#21518;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160;&#24320;&#21457;&#26381;&#21153;&#22120;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan serve<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;&#20320;&#24212;&#35813;&#33021;&#22815;&#36890;&#36807; <code>https:\/\/example.com<\/code> &#35775;&#38382;&#20320;&#30340; Laravel &#24212;&#29992;&#31243;&#24207;&#20102;&#12290;<\/p>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#25104;&#21151;&#37096;&#32626; Laravel &#24182;&#20351;&#29992; Apache &#21644; Let&#8217;s Encrypt &#25552;&#20379;&#30340; SSL &#21152;&#23494;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#37096;&#32626;Laravel&#24212;&#29992;&#31243;&#24207;&#21040;&#29983;&#20135;&#29615;&#22659;&#38656;&#35201;&#20960;&#20010;&#20851;&#38190;&#27493;&#39588;&#65292;&#20197;&#30830;&#20445;&#24744;&#30340;Web&#24212;&#29992;&#31243;&#24207;&#23433;&#20840;&#12289;&#39640;&#25928;&#19988;&#21487;&#25193;&#23637;&#12290;&#36825;&#20123;&#27493;&#39588;&#21253;&#25324;&#37197;&#32622;Web&#26381;&#21153;&#22120;&#65292;&#20363;&#22914;Apache&#65292;&#20197;&#21450;&#36890;&#36807;Let&#8217;s Encrypt&#25552;&#20379;&#30340;SSL&#35777;&#20070;&#26469;&#20445;&#25252;&#24744;&#30340;&#24212;&#29992;&#12290;<\/p><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#36890;&#36807;&#27493;&#39588;&#25351;&#21335;&#30340;&#26041;&#24335;&#20171;&#32461;&#22914;&#20309;&#22312;Linux&#26381;&#21153;&#22120;&#19978;&#37096;&#32626;&#19968;&#20010;Laravel&#24212;&#29992;&#31243;&#24207;&#24182;&#20351;&#29992;Let&#8217;s Encrypt&#36827;&#34892;&#23433;&#20840;&#35774;&#32622;&#12290;&#25105;&#20204;&#23558;&#28085;&#30422;&#20174;&#19978;&#20256;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#21040;&#37197;&#32622;Apache&#34394;&#25311;&#20027;&#26426;&#20197;&#21450;&#35774;&#32622;SSL&#35777;&#20070;&#20197;&#23454;&#29616;&#21152;&#23494;&#36890;&#20449;&#30340;&#25152;&#26377;&#20869;&#23481;&#12290;<\/p><h2>&#21069;&#32622;&#26465;&#20214;<\/h2><p>&#37197;&#32622;&#25351;&#21521;&#24744;&#26381;&#21153;&#22120;&#20844;&#32593;IP&#22320;&#22336;&#30340;&#22495;&#21517;&#12290;<\/p><p>&#23545;&#26381;&#21153;&#22120;&#30340;root&#26435;&#38480;&#35775;&#38382;&#26435;&#38480;&#12290;<\/p><p>&#19968;&#21488;&#25512;&#33616;&#20351;&#29992;Ubuntu&#25110;CentOS&#30340;Linux&#26381;&#21153;&#22120;&#65292;&#24050;&#23433;&#35013;Apache&#12290;<\/p><p>SSH&#65288;Secure Shell&#65289;&#30340;&#22522;&#26412;&#30693;&#35782;&#12290;<\/p><p>&#19968;&#20010;Laravel&#24212;&#29992;&#31243;&#24207;&#24050;&#20934;&#22791;&#22909;&#37096;&#32626;&#12290;<\/p><h2>&#37096;&#32626;&#27969;&#31243;<\/h2><h3>&#27493;&#39588;1&#65306;&#19978;&#20256;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;<\/h3><p>&#20351;&#29992;SSLH&#23458;&#25143;&#31471;&#65288;&#22914;OpenSSH&#12289;PuTTY&#25110;MacOS&#20869;&#32622;&#32456;&#31471;&#31561;&#65289;&#65292;&#24182;&#25191;&#34892;&#20197;&#19979;&#25805;&#20316;&#65306;<\/p><p>&#35831;&#20351;&#29992;SCP&#25110;&#20854;&#20182;&#24744;&#21916;&#27426;&#30340;&#26041;&#27861;&#19978;&#20256;&#24744;&#30340;Laravel&#24212;&#29992;&#65306;<\/p><p>&#23548;&#33322;&#21040;&#30446;&#24405;&#65306;\/var\/www<\/p><pre><code>cd \/var\/www<\/code><\/pre><p>&#35831;&#20351;&#29992;SSH&#36830;&#25509;&#21040;&#24744;&#30340;&#26381;&#21153;&#22120;&#65288;&#37319;&#29992;&#23494;&#30721;&#35748;&#35777;&#25110;&#20813;&#23494;&#30331;&#24405;&#26041;&#24335;&#65289;&#12290;<\/p><pre><code>ssh [email&nbsp;protected]<\/code><\/pre><p>&#30830;&#20445; \/var\/www\/your-laravel-app &#30446;&#24405;&#30340;&#25152;&#26377;&#32773;&#26159; Web &#26381;&#21153;&#22120;&#29992;&#25143;&#65292;&#36890;&#24120;&#20026; www-data&#65288;&#22312;&#22522;&#20110; Debian &#25110; Ubuntu &#30340;&#31995;&#32479;&#19978;&#20351;&#29992; Apache &#26102;&#65289;&#12290;<\/p><pre><code>sudo chown -R www-data:www-data \/var\/www\/your-laravel-app<\/code><\/pre><h3>&#27493;&#39588; 2&#65306;&#37197;&#32622; Apache &#34394;&#25311;&#20027;&#26426;&#20197;&#25903;&#25345; Laravel<\/h3><p>&#20026;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#37197;&#32622;&#25991;&#20214;&#65306;<\/p><pre><code>sudo nano \/etc\/apache2\/sites-available\/your-laravel-app.conf<\/code><\/pre><p>&#35831;&#25353;&#29031;&#20197;&#19979;&#34394;&#25311;&#20027;&#26426;&#37197;&#32622;&#25554;&#20837;&#65292;&#30830;&#20445;&#23558;&#20854;&#26367;&#25442;&#20026;&#24744;&#30340;&#23454;&#38469;&#22495;&#21517;&#65306;<\/p><pre><code>&lt;VirtualHost *:80&gt;\n    ServerName your-domain.com\n    ServerAlias www.your-domain.com\n\n    DocumentRoot \/var\/www\/your-laravel-app\/public\n\n    &lt;Directory \/var\/www\/your-laravel-app\/public&gt;\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;\n<\/code><\/pre><p>&#21551;&#29992;&#26032;&#31449;&#28857;&#24182;&#37325;&#20889;&#27169;&#22359;&#65306;<\/p><pre><code>sudo a2ensite your-laravel-app\nsudo a2enmod rewrite\nsudo systemctl restart apache2<\/code><\/pre><h3>&#27493;&#39588; 3&#65306;&#23433;&#35013; Let&#8217;s Encrypt &#24182;&#33719;&#21462; SSL &#35777;&#20070;<\/h3><p>&#23433;&#35013; certbot &#24037;&#20855;&#21644; Apache &#25554;&#20214;&#65306;<\/p><pre><code>sudo apt-get update\nsudo apt-get install python-certbot-apache<\/code><\/pre><p>&#36816;&#34892;Certbot&#20197;&#33719;&#21462;SSL&#35777;&#20070;&#65306;<\/p><pre><code>sudo certbot --apache -d your-domain.com -d www.your-domain.com<\/code><\/pre><p>&#35831;&#36981;&#24490;&#25552;&#31034;&#65292;&#36873;&#25321;&#20197;&#19979;&#36873;&#39033;&#20197;&#23558;HTTP&#27969;&#37327;&#37325;&#23450;&#21521;&#21040;HTTPS&#65292;&#20174;&#32780;&#30830;&#20445;&#24744;&#30340;&#31449;&#28857;&#23433;&#20840;&#12290;<\/p><p>Let&#8217;s Encrypt &#30340; Certbot &#20250;&#22312;&#35777;&#20070;&#21040;&#26399;&#21069;&#33258;&#21160;&#32493;&#26399;&#65292;&#30830;&#20445;&#24744;&#30340;&#31449;&#28857;&#22987;&#32456;&#23433;&#20840;&#12290;<\/p><h3>&#31532;4&#27493;&#65306;Laravel &#37197;&#32622;&#21644;&#20248;&#21270;<\/h3><p>&#35831;&#22312; .env &#25991;&#20214;&#20013;&#27491;&#30830;&#37197;&#32622;&#25968;&#25454;&#24211;&#21644;&#20854;&#20182;&#29615;&#22659;&#21464;&#37327;&#65306;<\/p><pre><code>APP_ENV=production\nAPP_DEBUG=false\nAPP_KEY=SomeRandomString<\/code><\/pre><p>&#20248;&#21270;&#20320;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#20197;&#36866;&#24212;&#29983;&#20135;&#29615;&#22659;&#65306;<\/p><pre><code>php artisan optimize\nphp artisan config:cache\nphp artisan route:cache\nphp artisan view:cache<\/code><\/pre><p>&#30830;&#20445;&#35774;&#32622;&#36866;&#24403;&#30340;&#26435;&#38480;&#65306;<\/p><pre><code>sudo chown -R www-data:www-data \/var\/www\/your-laravel-app\nsudo chmod -R 755 \/var\/www\/your-laravel-app\nsudo chmod -R 777 \/var\/www\/your-laravel-app\/storage\nsudo chmod -R 777 \/var\/www\/your-laravel-app\/bootstrap\/cache<\/code><\/pre><h2>&#39640;&#32423;&#37197;&#32622;<\/h2><p>&#22914;&#26524;&#20320;&#38656;&#35201;&#26356;&#22797;&#26434;&#30340;&#37197;&#32622;&#65292;&#20363;&#22914;&#36127;&#36733;&#22343;&#34913;&#12289;&#21453;&#21521;&#20195;&#29702;&#37197;&#32622;&#25110;&#39069;&#22806;&#30340;&#23433;&#20840;&#25514;&#26045;&#65292;&#35831;&#21442;&#35265;&#20197;&#19979;&#31034;&#20363;&#65306;<\/p><p>&#20026;&#20102;&#35774;&#32622;&#19968;&#20010;&#21453;&#21521;&#20195;&#29702;&#65292;&#20351;&#29992;Apache&#65306;<\/p><pre><code>&lt;IfModule mod_proxy.c&gt;\n    &lt;Proxy *&gt;\n        Require all granted\n    &lt;\/Proxy&gt;\n    ProxyPass \/ http:\/\/127.0.0.1:8000\/\n    ProxyPassReverse \/ http:\/\/127.0.0.1:8000\/\n&lt;\/IfModule&gt;\n<\/code><\/pre><p>&#20026;&#20102;&#28155;&#21152;&#39069;&#22806;&#30340;&#22836;&#20449;&#24687;&#20197;&#25552;&#39640;&#23433;&#20840;&#24615;&#65306;<\/p><pre><code>Header always set X-Frame-Options DENY\nHeader always set X-Content-Type-Options nosniff<\/code><\/pre><p>&#21551;&#29992;&#36825;&#20123;&#22836;&#20449;&#24687;&#65306;<\/p><pre><code>sudo a2enmod headers\nsudo systemctl restart apache2<\/code><\/pre><h2>&#32467;&#35770;&#12290;<\/h2><p>&#24744;&#24050;&#25104;&#21151;&#37096;&#32626;&#24182;&#23433;&#20840;&#22320;&#36816;&#34892;&#20102;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#65292;&#20351;&#29992;Apache&#21644;Let&#8217;s Encrypt&#12290;&#29616;&#22312;&#65292;&#24744;&#30340;&#24212;&#29992;&#22312;&#29983;&#20135;&#26381;&#21153;&#22120;&#19978;&#36816;&#34892;&#65292;&#25317;&#26377;&#19968;&#20010;SSL&#35777;&#20070;&#65292;&#30830;&#20445;&#25152;&#26377;&#36890;&#20449;&#37117;&#21152;&#23494;&#19988;&#23433;&#20840;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>Apache &#26159;&#19968;&#31181;&#38750;&#24120;&#27969;&#34892;&#30340; Web &#26381;&#21153;&#22120;&#36719;&#20214;&#65292;&#32780; Let&#8217;s Encrypt &#26159;&#19968;&#20010;&#20813;&#36153;&#30340; CA&#65288;&#35777;&#20070;&#25480;&#26435;&#65289;&#26381;&#21153;&#65292;&#29992;&#20110;&#39041;&#21457;&#23433;&#20840;&#30340; SSL\/TLS &#35777;&#20070;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#20351;&#29992;&#36825;&#20004;&#20010;&#24037;&#20855;&#26469;&#37096;&#32626; Laravel &#24212;&#29992;&#31243;&#24207;&#30340;&#27493;&#39588;&#65306;<\/p>\n<h3>&#27493;&#39588; 1: &#23433;&#35013;&#21644;&#37197;&#32622; Apache<\/h3>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#24744;&#30340;&#26381;&#21153;&#22120;&#19978;&#23433;&#35013;&#20102; Apache HTTP Server&#12290;&#24744;&#21487;&#20197;&#36890;&#36807;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#36827;&#34892;&#23433;&#35013;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update &amp;&amp; sudo apt-get install apache2<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#25171;&#24320;&#32456;&#31471;&#24182;&#36755;&#20837;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160; Apache &#26381;&#21153;&#22120;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start apache2<\/code><\/pre>\n<p>&#25509;&#19979;&#26469;&#65292;&#32534;&#36753; <code>\/etc\/apache2\/sites-available\/000-default.conf<\/code> &#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#20197;&#21551;&#29992; Laravel:<\/p>\n<pre><code class=\"language-nginx\">&lt;IfModule mod_ssl.c&gt;\n    &lt;VirtualHost *:443&gt;\n        ServerAdmin webmaster@localhost\n        DocumentRoot \/var\/www\/html\/laravel\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\n        SSLEngine on\n        SSLCertificateFile \/path\/to\/cert.pem\n        SSLCertificateKeyFile \/path\/to\/private.key\n    &lt;\/VirtualHost&gt;\n&lt;\/IfModule&gt;<\/code><\/pre>\n<h3>&#27493;&#39588; 2: &#20351;&#29992; Let&#8217;s Encrypt &#39041;&#21457; SSL\/TLS &#35777;&#20070;<\/h3>\n<p>&#35775;&#38382; Let&#8217;s Encrypt &#32593;&#31449;&#65288;<a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvJUVGJUJDJTg5JUVGJUJDJThDJUU2JThDJTg5JUU3JTg1JUE3JUU2JThDJTg3JUU3JUE0JUJBJUU2JUIzJUE4JUU1JTg2JThDJUU1JTlGJTlGJUU1JTkwJThEJUUzJTgwJTgyJUU3JTg0JUI2JUU1JTkwJThFJUU1JTg4JTlCJUU1JUJCJUJBJUU0JUI4JTgwJUU0JUI4JUFBJUU4JTg3JUFBJUU3JUFEJUJFJUU1JTkwJThEJUU4JUFGJTgxJUU0JUI5JUE2\" rel=\"noopener noreferrer nofollow\"><a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvJiM2NTI4OTsmIzY1MjkyOyYjMjUzNTM7JiMyOTAzMTsmIzI1MzUxOyYjMzEwMzQ7JiMyNzg4MDsmIzIwODc2OyYjMjI0OTU7JiMyMTUxNzsmIzEyMjkwOyYjMjg5ODI7JiMyMTUxODsmIzIxMDE5OyYjMjQzMTQ7JiMxOTk2ODsmIzIwMDEwOyYjMzMyNTg7JiMzMTYxNDsmIzIxNTE3OyYjMzU3Nzc7JiMwMzg7IzIwMDcw\" rel=\"noopener noreferrer nofollow\" rel=\"nofollow\">https:\/\/letsencrypt.org\/&#65289;&#65292;&#25353;&#29031;&#25351;&#31034;&#27880;&#20876;&#22495;&#21517;&#12290;&#28982;&#21518;&#21019;&#24314;&#19968;&#20010;&#33258;&#31614;&#21517;&#35777;&#038;#20070<\/a>;<\/a>&#12290;<\/p>\n<ul>\n<li>&#22312;&#27983;&#35272;&#22120;&#20013;&#36755;&#20837; <a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20v\" rel=\"noopener noreferrer nofollow\">https:\/\/www.example.com\/<\/a><\/li>\n<li>&#22312;&#21491;&#19978;&#35282;&#25214;&#21040;&ldquo;SSL Certificates&rdquo;&#36873;&#39033;&#21345;&#12290;<\/li>\n<li>&#36873;&#25321;&ldquo;Generate a self-signed certificate&rdquo;&#12290;<\/li>\n<li>&#36755;&#20837;&#24744;&#24819;&#35201;&#30340;&#22495;&#21517;&#21644;&#23494;&#38053;&#23545;&#12290;<\/li>\n<li>&#21333;&#20987;&ldquo;Create&rdquo;&#25353;&#38062;&#12290;<\/li>\n<\/ul>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026; <code>example.com-selfsigned.crt<\/code> &#30340;&#25991;&#20214;&#21644; <code>example.com-selfsigned.key<\/code> &#30340;&#31169;&#38053;&#25991;&#20214;&#12290;<\/p>\n<h3>&#27493;&#39588; 3: &#21551;&#21160; Laravel &#26381;&#21153;<\/h3>\n<p>&#22312; Laravel &#39033;&#30446;&#26681;&#30446;&#24405;&#19979;&#65292;&#25191;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160;&#24212;&#29992;&#31243;&#24207;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan serve --ansi<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;Laravel &#24212;&#29992;&#24050;&#25104;&#21151;&#37096;&#32626;&#21040; Apache &#19978;&#65292;&#23427;&#20351;&#29992; Let&#8217;s Encrypt &#35777;&#20070;&#25552;&#20379; SSL\/TLS &#21152;&#23494;&#12290;&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#24744;&#21487;&#20197;&#25918;&#24515;&#22320;&#23558; Laravel &#24212;&#29992;&#37096;&#32626;&#21040;&#29983;&#20135;&#29615;&#22659;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#37096;&#32626; Laravel &#26102;&#65292;&#20351;&#29992; Apache &#21644; Let&#8217;..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-730","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=730"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=730"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=730"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}