新聞中心
手工配置主要是基于學習目的;商用推薦安裝寶塔-簡單省事好維護。

ginx專為性能優(yōu)化而開發(fā),其最知名的優(yōu)點是它的穩(wěn)定性和低系統(tǒng)資源消耗,以及對并發(fā)連接的高處理能力(單臺物理服務器可支持30000~50000個并發(fā)連接), 是一個高性能的 HTTP 和反向代理服務器,也是一個IMAP/POP3/SMTP 代理服,本篇文章為大家講解一下Ubuntu 16.04 中配置和使用 NGINX Web 服務器
安裝 Certbot
第一步是安裝 certbot,該軟件客戶端可以幾乎自動化所有的過程。 Certbot 開發(fā)人員維護自己的 Ubuntu 倉庫,其中包含比 Ubuntu 倉庫中存在的軟件更新的軟件。
添加 Certbot 倉庫:
#?add-apt-repository?ppa:certbot/certbot接下來,更新 APT 源列表:
#?apt-get?update此時,可以使用以下 apt?命令安裝 certbot:
#?apt-get?install?certbotCertbot 現(xiàn)已安裝并可使用。
獲得證書
有各種 Certbot 插件可用于獲取 SSL 證書。這些插件有助于獲取證書,而證書的安裝和 Web 服務器配置都留給管理員。
我們使用一個名為 Webroot 的插件來獲取 SSL 證書。
在有能力修改正在提供的內容的情況下,建議使用此插件。在證書頒發(fā)過程中不需要停止 Web 服務器。
配置 NGINX
Webroot 會在 Web 根目錄下的 .well-known 目錄中為每個域創(chuàng)建一個臨時文件。在我們的例子中,Web 根目錄是 /var/www/html。確保該目錄在 Let’s Encrypt 驗證時可訪問。為此,請編輯 NGINX 配置。使用文本編輯器打開 /etc/nginx/sites-available/default:
#?$EDITOR?/etc/nginx/sites-available/default在該文件中,在 server 塊內,輸入以下內容:
location?~?/.well-known?{
allow?all;
}
保存,退出并檢查 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使用 Certbot 獲取證書
下一步是使用 Certbot 的 Webroot 插件獲取新證書。在本教程中,我們將保護示例域?www.example.com。需要指定應由證書保護的每個域。執(zhí)行以下命令:
#?certbot?certonly?--webroot?--webroot-path=/var/www/html?-d?www.example.com在此過程中,Cerbot 將詢問有效的電子郵件地址,用于進行通知。還會要求與 EFF 分享,但這不是必需的。在同意服務條款之后,它將獲得一個新的證書。
最后,目錄 /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/ 中的最新證書文件。這是我們將在服務器配置中使用的路徑。
在 NGINX 上配置 SSL/TLS
下一步是服務器配置。在 /etc/nginx/snippets/ 中創(chuàng)建一個新的代碼段。 snippet 是指一段配置,可以包含在虛擬主機配置文件中。如下創(chuàng)建一個新的文件:
#?$EDITOR?/etc/nginx/snippets/secure-example.conf該文件的內容將指定證書和密鑰位置。粘貼以下內容:
ssl_certificate?/etc/letsencrypt/live/domain_name/fullchain.pem;
ssl_certificate_key?/etc/letsencrypt/live/domain_name/privkey.pem;
在我們的例子中,domain_name 是 example.com。
編輯 NGINX 配置
編輯默認虛擬主機文件:
#?$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總結
按照上述步驟,此時我們已經擁有了一個安全的基于 NGINX 的 Web 服務器,它由 Certbot 和 Let’s Encrypt 提供加密。這只是一個基本配置,當然你可以使用許多 NGINX 配置參數來個性化所有東西,但這取決于特定的 Web 服務器要求。
網頁題目:Ubuntu 16.04 中配置和使用 NGINX Web 服務器
文章分享:http://m.5511xx.com/article/dhdjeds.html


咨詢
建站咨詢
