Nginx專為效能最佳化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對並發連接的高處理能力(單台實體伺服器可支援30000~50000個並發連線), 是一個高效能的HTTP 和反向代理伺服器,也是一個IMAP/POP3/SMTP 代理程式服。
第一步是安裝 certbot,該軟體用戶端可以幾乎自動化所有的流程。 Certbot 開發人員會維護自己的 Ubuntu 倉庫,其中包含比 Ubuntu 倉庫中存在的軟體更新的軟體。
新增Certbot 倉庫:
# add-apt-repository ppa:certbot/certbot
接下來,更新APT 來源清單:
# apt-get update
此時,可以使用下列apt 指令安裝certbot:
# apt-get install certbot
Certbot 現已安裝並可使用。
有各種 Certbot 外掛程式可用於取得 SSL 憑證。這些外掛程式有助於取得證書,而證書的安裝和 Web 伺服器配置都留給管理員。
我們使用一個名為 Webroot 的外掛程式來取得 SSL 憑證。
在有能力修改正在提供的內容的情況下,建議使用此外掛程式。在憑證授權過程中不需要停止 Web 伺服器。
Webroot 會在 Web 根目錄下的 .well-known 目錄中為每個網域建立一個暫存檔案。在我們的範例中,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 的Webroot 外掛程式取得新憑證。在本教程中,我們將保護範例網域 www.example.com。需要指定應由憑證保護的每個網域。執行以下命令:
# 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 也會建立符號連結到 /etc/letsencrypt/live/domain_name/ 中的最新憑證檔案。這是我們將在伺服器配置中使用的路徑。
下一步是伺服器設定。在 /etc/nginx/snippets/ 中建立一個新的程式碼段。 snippet 是指一段配置,可以包含在虛擬主機設定檔中。如下建立一個新的檔案:
# $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。
編輯預設虛擬主機檔案:
# $EDITOR /etc/nginx/sites-available/default
如下:
server { listen 80 default_server; listen [::]:80 default_server; server_name www.example.comreturn 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 -tnginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
重新啟動 NGINX:
# systemctl restart nginx
以上是Ubuntu 16.04中如何設定使用NGINX Web伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!