1. 程式人生 > >Nginx 學習筆記(一)個人網站的Https配置

Nginx 學習筆記(一)個人網站的Https配置

ast 請求重定向 nginx nta pda opera 配置虛擬主機 location cat

一、系統環境

1、系統:Ubuntu 16.04.2 LTS

2、WEB服務器:Openresty11.2.5

二、開始配置

1、獲取certbot客戶端

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

2、停止Nginx服務

sudo systemctl stop nginx.service

3、生成證書

./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名地址`

當前網站有多個域名時需在後面增加,例如:

./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名1` -d `你的域名2`

4、查看生產的證書

tree /etc/letsencrypt/live/
[email protected]:~$ sudo tree /etc/letsencrypt/live/
/etc/letsencrypt/live/
└── www.tinywan.top
    ├── cert.pem -> ../../archive/www.tinywan.top/cert1.pem
    ├── chain.pem -> ../../archive/www.tinywan.top/chain1.pem
    ├── fullchain.pem -> ../../archive/www.tinywan.top/fullchain1.pem
    ├── privkey.pem 
-> ../../archive/www.tinywan.top/privkey1.pem └── README 1 directory, 5 files

5、編輯Nginx配置文件和開啟SSL服務

sudo vim /usr/local/openresty/nginx/conf/nginx.conf

配置虛擬主機

...
  # 配置HTTP請求重定向 server { listen
80; server_name www.tinywan.top; rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https
}
# 配置SSL證書 server { listen
443 ssl;
     server_name www.tinywan.top;
        ssl_certificate /etc/letsencrypt/live/www.tinywan.top/fullchain.pem; 
ssl_certificate_key
/etc/letsencrypt/live/www.tinywan.top//privkey.pem;
     #禁止在header中出現服務器版本,防止黑客利用版本漏洞攻擊
     server_tokens off;
set $root_path /home/www/web/golang; root $root_path; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } } ...

6、重啟Nginx服務

sudo systemctl restart nginx.service

7、Let’s Encrypt 生成的免費證書為3個月時間,使用Crontab可以無限次續簽證書

# 每星期1的2點30分執行更新操作
 30 2 * * 1 /home/www/bin/certbot-auto renew  >>/home/www/bin/logs/encrypt_auto_update.log  2>&1

Nginx 學習筆記(一)個人網站的Https配置