掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Let’s Encrypt 是互聯(lián)網(wǎng)安全研究組織 (ISRG) 提供的免費(fèi)證書認(rèn)證機(jī)構(gòu)。它提供了一種輕松自動的方式來獲取免費(fèi)的 SSL/TLS 證書 - 這是在 web 服務(wù)器上啟用加密和 HTTPS 流量的必要步驟。獲取和安裝證書的大多數(shù)步驟可以通過使用名為 Certbot 的工具進(jìn)行自動化。

麻章網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),麻章網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為麻章超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的麻章做網(wǎng)站的公司定做!
特別地,該軟件可在可以使用 shell 的服務(wù)器上使用:換句話說,它可以通過 SSH 連接使用。
在本教程中,我們將看到如何使用 certbot 獲取免費(fèi)的 SSL 證書,并在 ubuntu 16.04 服務(wù)器上使用 Nginx。
第一步是安裝 certbot,該軟件客戶端可以幾乎自動化所有的過程。 Certbot 開發(fā)人員維護(hù)自己的 Ubuntu 倉庫,其中包含比 Ubuntu 倉庫中存在的軟件更新的軟件。
添加 Certbot 倉庫:
# add-apt-repository ppa:certbot/certbot
接下來,更新 APT 源列表:
# apt-get update
此時(shí),可以使用以下 apt 命令安裝 certbot:
# apt-get install certbot
Certbot 現(xiàn)已安裝并可使用。
有各種 Certbot 插件可用于獲取 SSL 證書。這些插件有助于獲取證書,而證書的安裝和 Web 服務(wù)器配置都留給管理員。
我們使用一個(gè)名為 Webroot 的插件來獲取 SSL 證書。
在有能力修改正在提供的內(nèi)容的情況下,建議使用此插件。在證書頒發(fā)過程中不需要停止 Web 服務(wù)器。
Webroot 會在 Web 根目錄下的 .well-known 目錄中為每個(gè)域創(chuàng)建一個(gè)臨時(shí)文件。在我們的例子中,Web 根目錄是 /var/www/html。確保該目錄在 Let’s Encrypt 驗(yàn)證時(shí)可訪問。為此,請編輯 NGINX 配置。使用文本編輯器打開 /etc/nginx/sites-available/default:
# $EDITOR /etc/nginx/sites-available/default
在該文件中,在 server 塊內(nèi),輸入以下內(nèi)容:
location ~ /.well-known {
allow all;
}
保存,退出并檢查 NGINX 配置:
# nginx -t
沒有錯(cuò)誤的話應(yīng)該會顯示如下:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重啟 NGINX:
# systemctl restart nginx
下一步是使用 Certbot 的 Webroot 插件獲取新證書。在本教程中,我們將保護(hù)示例域 www.example.com。需要指定應(yīng)由證書保護(hù)的每個(gè)域。執(zhí)行以下命令:
# certbot certonly --webroot --webroot-path=/var/www/html -d www.example.com
在此過程中,Cerbot 將詢問有效的電子郵件地址,用于進(jìn)行通知。還會要求與 EFF 分享,但這不是必需的。在同意服務(wù)條款之后,它將獲得一個(gè)新的證書。
最后,目錄 /etc/letsencrypt/archive 將包含以下文件:
chain.pem:Let’s Encrypt 加密鏈證書。cert.pem:域名證書。fullchain.pem:cert.pem和 chain.pem 的組合。privkey.pem:證書的私鑰。Certbot 還將創(chuàng)建符號鏈接到 /etc/letsencrypt/live/domain_name/ 中的最新證書文件。這是我們將在服務(wù)器配置中使用的路徑。
下一步是服務(wù)器配置。在 /etc/nginx/snippets/ 中創(chuàng)建一個(gè)新的代碼段。 snippet 是指一段配置,可以包含在虛擬主機(jī)配置文件中。如下創(chuàng)建一個(gè)新的文件:
# $EDITOR /etc/nginx/snippets/secure-example.conf
該文件的內(nèi)容將指定證書和密鑰位置。粘貼以下內(nèi)容:
ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem;
在我們的例子中,domain_name 是 example.com。
編輯默認(rèn)虛擬主機(jī)文件:
# $EDITOR /etc/nginx/sites-available/default
如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.example.com
return 301 https://$server_name$request_uri;
# SSL configuration
#
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/secure-example.conf
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
# ...
}
這將啟用 NGINX 加密功能。
保存、退出并檢查 NGINX 配置文件:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重啟 NGINX:
# systemctl restart nginx
按照上述步驟,此時(shí)我們已經(jīng)擁有了一個(gè)安全的基于 NGINX 的 Web 服務(wù)器,它由 Certbot 和 Let’s Encrypt 提供加密。這只是一個(gè)基本配置,當(dāng)然你可以使用許多 NGINX 配置參數(shù)來個(gè)性化所有東西,但這取決于特定的 Web 服務(wù)器要求。

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流