溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Let’s Encrypt怎么搭建HTTPS網(wǎng)站

發(fā)布時(shí)間:2022-02-15 15:50:38 來源:億速云 閱讀:107 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Let’s Encrypt怎么搭建HTTPS網(wǎng)站”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Let’s Encrypt怎么搭建HTTPS網(wǎng)站”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

Let’s Encrypt怎么搭建HTTPS網(wǎng)站

環(huán)境

阿里云服務(wù)器CentOS7.3,Nignx,Let’s Encrypt做免費(fèi)的HTTPS證書。


安裝

1、服務(wù)器開放端口:443,80(服務(wù)器防火墻和阿里云控制臺(tái)都要開放這兩個(gè)端口,如果沒有開放后面設(shè)置域名時(shí),會(huì)報(bào)錯(cuò)連接域名超時(shí)的)

2、安裝一個(gè)nginx,并且測試下可以訪問嗎,訪問個(gè)主頁試試

3、準(zhǔn)備做完了我們開始安裝,從服務(wù)器上面獲取證書:

$ git clone https://github.com/letsencrypt/letsencrypt.git

$ cd letsencrypt 

$ sudo ./letsencrypt-auto certonly

根據(jù)該向?qū)?,選用standalone模式填寫自己的郵箱域名等等

4、然后我們就能在/etc/letsencrypt/live/mydomain下面看到privkey.pem和fullchain.pem文件

配置

5、我們修改nginx的配置文件,屏蔽http配置文件,設(shè)置https配置文件讓它支持https協(xié)議,默認(rèn)nginx配置文件路徑/etc/nginx/nginx.conf:

server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.linuxidc.com;
root /usr/share/nginx/html;

ssl_certificate "/etc/letsencrypt/live/www.linuxidc.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.linuxidc.com/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;

location / {
}

location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

其實(shí)nginx配置文件后面有https的模板,默認(rèn)屏蔽了

訪問

6、然后我們重啟下nginx,systemctl stop nginx.service和systemctl start nginx.service,用http協(xié)議訪問網(wǎng)站的某個(gè)頁面不行,用https協(xié)議訪問成功,https://www.linuxidc.com/indexs.html

7、前面我們怕沖突把http的配置給屏蔽了,現(xiàn)在我們要實(shí)現(xiàn)訪問http時(shí)自動(dòng)跳轉(zhuǎn)到https,例如訪問baidu.com就會(huì)自動(dòng)跳轉(zhuǎn)到https://www.baidu.com

我們?cè)偌右粋€(gè)server實(shí)現(xiàn)跳轉(zhuǎn)

server{
listen 80;
server_name www.linuxidc.com;return 301 https://$host$request_uri;
}

然后重啟nginx

8、 最后我們看下頒發(fā)的證書,右擊頁面->檢查->security->View certificate,我們看下證書的有效期是3個(gè)月,letsencrypt是支持自動(dòng)獲取證書的,也就是說你可以設(shè)置在證書失效前例如一個(gè)月自動(dòng)再請(qǐng)求新的證書,這樣我們以后就不用擔(dān)心證書失效了

9、實(shí)現(xiàn)定時(shí)更新證書,我們可以用linux自帶的定時(shí)器crontab

$ crontab -e

輸入:

30 2 1 * * /usr/bin/certbot renew >> /var/log/le-renew.log
35 2 1 * * /usr/bin/systemctl reload nginx

保持退出,上面的意思是在每個(gè)月的1號(hào)2點(diǎn)30分自動(dòng)更新證書,在每個(gè)月的1號(hào)2點(diǎn)35分重新加載nginx

讀到這里,這篇“Let’s Encrypt怎么搭建HTTPS網(wǎng)站”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI