如何在nginx服務器部署Let’s Encrypt免費SSL證書

如何在nginx服務器部署Let’s Encrypt免費SSL證書

Nginx 服務器

是一個高性能的HTTP和反向代理服務器;也是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。

Let’s Encrypt免費SSL證書

Let’s Encrypt作爲一個公共且免費SSL的項目逐漸被廣大用戶傳播和使用,是由網絡公益組織ISRG(Mozilla、Cisco、Akamai、IdenTrust、EFF等)組織人員發起,主要的目的也是爲了推進網站從HTTP向HTTPS過度的進程,目前已經有越來越多的商家加入和贊助支持。

Nginx 是部署HTTPS常用的服務器之一,而Let’s Encrypt免費SSL證書幾乎是全球使用最廣泛的SSL證書之一。可見很多站長都必須要知道nginx服務器如何部署Let’s Encrypt免費SSL證書,這對於SSL證書熟悉的站長來說是一件輕而易舉的事情,但是對於初次接觸SSL證書的人來,就是一頭霧水,爲了解決這種尷尬的場面,下面介紹基於web服務器是nginx,實行部署Let’s Encrypt免費SSL證書。

下載項目運行,生成證書

[html] view plain copy

#git clone https://github.com/certbot/certbot

#cd certbot

#./certbot-auto certonly –standalone –email [email protected] -d example.com -d www.example.com -d other.example.net

此處非常簡單,一步到底。執行certbot-auto命令就是生成證書的過程,參數中email是站長對應的域名聯繫人郵箱地址,參數d就是要加簽的域名,可以多個。

生成過程有提示的話agree和yes即可

參看證書

生成的證書位於/etc/Let’s Encrypt/下

[html] view plain copy

#ls /etc/Let’s Encrypt/

accounts archive csr keys live renewal

#cd /etc/Let’s Encrypt/live/example.com && ll

cert.pem – Apache服務器端證書

chain.pem – Apache根證書和中繼證書

fullchain.pem – Nginx所需要ssl_certificate文件

privkey.pem – 安全證書KEY文件

這4個文件就是生成的密鑰證書文件,但是他們都是文件鏈接而已,實際的文件位於/etc/Let’s Encrypt/archive/example.com下

[html] view plain copy

#ls /etc/Let’s Encrypt/archive/example.com/

cert1.pem chain1.pem fullchain1.pem privkey1.pem

如果用到docker一類的工具,nginx配置中必須指向真實文件位置,否則會讀不到

配置nginx

需要在已有的LNMP添加了站點,然後在站點對應的CONF文件設置

[html] view plain copy

server

{

listen 80;

#listen [::]:80;

listen 443 ssl;

ssl on;

ssl_certificate /root/ssl.crt;

ssl_certificate_key /root/ssl.key;

server_name example.com www.example.com;

上面有ssl字樣的4行配置是必須添加的,對應路徑要與之前上傳的CRT和KEY文件路徑對應以及文件名不要搞錯。

最後,重啓LNMP,可以看到SSL證書生效,且HTTPS可以訪問站點。

如果需要強制使用HTTPS網址訪問,那就需要取掉 listen 80;腳本。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章